給定兩個字符串s和t,寫一個函數來確定是否t是s的字謎。
例如,
s = "anagram", t = "nagaram", 返回true
s = "rat", t = "car", 返回false
備注:
你可以假設字符串只包含小寫字母。
跟進:
如果輸入包含unicode字符該怎麼做?你的解決方案能夠適應這種情況嗎?
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?
幾乎秒寫出來,不過不確定題目中的unicode那個能不能用,估計是不能把……因為我都不知道這個要怎麼輸入進去……以後再想辦法把。
#include
#include
using namespace std;
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
int main() {
string s = "anagram";
string t = "nagaram";
cout << isAnagram(s, t);
return 0;
}
一開始看到翻譯上給出的是“字謎”,題目中的意思我就不懂了,難道是這個謎語?然後另一個字符串是謎底?程序裡又沒有詞庫這種東西,怎麼寫……然後我去查了這個單詞——“nagaram”,並不存在。
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
};