题目链接
https://leetcode.com/problems/valid-anagram/
题目原文
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = “anagram”, t = “nagaram”, return true.
s = “rat”, t = “car”, return false.Note:
You may assume the string contains only lowercase alphabets.Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
题目翻译
给定两个字符串 s 和 t,写一个函数判断 t 是否是 s 的一个 “anagram”(颠倒字母顺序构成的词)。
比如: s = “anagram”, t = “nagaram”,返回 true; s = “rat”, t = “car”,返回false。
备注:假定给定的字符串都只包含小写字母。
进一步:如果输入包含 unicode 字符怎么办?你要怎么调整你的代码来解决这样的问题?
思路方法
思路一
比较直观的思路是,统计两个字符串中不同字符出现的次数,只有当两者出现的字符相同且出现的次数相同,那么它们是“anagram”。另外,两个长度不同的字符串一定不满足要求,可以辅助判断。
判断字符出现次数是否相等,可以两个都统计再比较(用到两个数组),也可以一个增一个减的边统计边比较(一个数组即可)。
代码一