LintCode - 两个字符串是变位词(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

写出一个函数 anagram(s, t)
判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。

样例

给出 s = "abcd",t="dcab",返回 true.
给出 s = "ab", t = "ab", 返回 true.
给出 s = "ab", t = "ac", 返回 false.

思路

    /**
     * @param s: The first string
     * @param b: The second string
     * @return true or false
     */
    public boolean anagram(String s, String t) {
        if(s == null || s.length() == 0 || t == null || t.length() == 0){
            return false;
        }
        
        int[] arr = new int[255];
        for(int i = 0; i < s.length(); i++){
            char c = s.charAt(i);
            arr[c]++;;
        }
        
        for(int i = 0; i < t.length(); i++){
            char c = t.charAt(i);
            if(arr[c] > 0){
                arr[c]--;
            }else{
                return false;
            }
        }
        
        for(int i = 0; i < arr.length; i++){
            if(arr[i] > 0){
                return false;
            }
        }
        
        return true;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:容易 要求: 给定一个字符串和一个偏移量,根据偏移量旋...
    柒黍阅读 1,604评论 0 1
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 难度:中等 要求: 给出一个字符串数组S,找到其中所有的乱序...
    柒黍阅读 415评论 0 0
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,281评论 0 4
  • 题目 写出一个函数 anagram(s, t)判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。 样例给出...
    六尺帐篷阅读 1,371评论 1 1
  • 虽自有望,但凡有星。 林中有道,草中有鸣。 固之婉儿,甜心美创。 一壶浊酒,付笑谈中。 极目远眺,微风拂面。 随心...
    鞳羽阅读 229评论 0 2