程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> LeetCode 242 Valid Anagram(有效字謎)(*)

LeetCode 242 Valid Anagram(有效字謎)(*)

編輯:C++入門知識

LeetCode 242 Valid Anagram(有效字謎)(*)


翻譯

給定兩個字符串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;
    }
};

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved