leetcode初级算法字符串4 有效的字母异位词
2018-07-24 15:52
232 查看
题目:
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
示例 2:
输入: s = "rat", t = "car" 输出: false
说明:
你可以假设字符串只包含小写字母。
进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
解法:新开一个26的数组str,扫描s数组,把每个字母对于的位置上的权值+1,扫描t数组,把每个字母的位置上的权值-1,这样操作下来的话,如果满足true的情况str里面每个位置上都是0.
阅读更多import java.util.Arrays;
class Solution {
public boolean isAnagram(String s, String t) {
int[] str=new int [26];
for(int i=0;i<s.length();i++)
str[s.charAt(i)-'a']++;
for(int i=0;i<t.length();i++)
str[t.charAt(i)-'a']--;
for(int i=0;i<26;i++)
{
if(str[i]!=0)
return false;
}
return true;
}
}
相关文章推荐
- 【初级算法】15. 有效的字母异位词
- [Leetcode] 242. 有效的字母异位词 java hashmap
- LeetCode探索模块初级算法字符串章节python3代码实现
- leetcode 242 有效的字母异位词
- LeetCode242有效的字母异位词
- 在一个字符串中,统计大写字母个数,小写字母个数,其他字符个数的四种算法
- 算法初级_4 :字符串
- lintcode&九章算法——Google面试题 | 有效括号字符串 ? 待解决
- 有效的字母异位词
- 【中级算法】49. 字母异位词分组
- C/C++面试之算法系列--如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串
- 数据结构——算法之(031)(将字符串中全部小写字母排在大写字母的前面)
- 从零开始学习算法(Java实现)~~~~之字符串篇~~~判断两个字符串是否是颠倒字母顺序构成的
- LeetCode——中级算法——数组和字符串——三数之和
- C/C++面试之算法系列--如何实现用更少的空间表示英文字母(a ~ z)构成char A[n]字符串
- LeetCode初级算法-数组-旋转数组(python)
- leetcode_java.T020_ValidParentheses 给定一个只包含(‘, ‘)’, ‘{‘, ‘}’, ‘[’ 和‘]’的字符串,验证它是否是有效的。
- 设计一个算法将两个字符串合并按字母排序
- 算法学习-三字母字符串组合
- 每天一道LeetCode-----将字符串拆分成有效的ip地址