本文主要是介绍LeetCode 面试经典150题 242.有效的字母异位词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的字母异位词。
注意:若 s
和 t
中每个字符出现的次数都相同,则称 s
和 t
互为字母异位词。
思路:hash表,可以用int数组代替
代码:
class Solution {public boolean isAnagram(String s, String t) {if (s.length() != t.length())return false;int[] arr = new int[26];for (int i = 0; i < s.length(); i++) {char s1 = s.charAt(i);arr[s1 - 'a']++;char t1 = t.charAt(i);arr[t1 - 'a']--;}for (int i = 0; i < 26; i++) {if (arr[i] != 0)return false;}return true;}
}
性能:时间复杂度O(s) 空间复杂度O(26)= O(1)
这篇关于LeetCode 面试经典150题 242.有效的字母异位词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!