力扣242.有效的字母异位词(java,排序法)

Problem: 242. 有效的字母异位词

文章目录

  • 思路
  • 解题方法
  • 复杂度
  • Code

思路

根据题意将其转换为两个字符串的相同字符个数相同,我们可以将两个字符串排序再一一比较。

解题方法

1.判断两个字符串长度
2.对两个字符串重新排序(Java将其转换为字符数组再排序)
3.对每个数组逐一比较

复杂度

  • 时间复杂度:

O ( n l o g n ) O(nlogn) O(nlogn)

  • 空间复杂度:

O ( n ) O(n) O(n)

Code


class Solution {
    //Time Complexity: O(NlogN)
    //Space Complexity: O()
    public boolean isAnagram(String s, String t) {
        int sLen = s.length();
        int tLen = t.length();
        if (sLen != tLen) return false;
        char[] sArr = s.toCharArray();
        char[] tArr = t.toCharArray();
        //对字符串进行排序
        Arrays.sort(sArr);
        Arrays.sort(tArr);
        //逐一比较每个字符
        for (int i = 0; i < sLen; ++i) {
            if (sArr[i] != tArr[i]) {
                return false;
            }
        }
        return true;
    }
}

你可能感兴趣的:(leetcode,java)