【C++】:用sort對string型別進行排序
阿新 • • 發佈:2018-12-25
前言
這個問題來自於leetcode上面的一道題
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.
判斷兩個字串排序後是否相等
這個方法的妙用就在於省去了自己寫排序的時間
具體demo使用
利用sort(s.begin(),s.end()); //這樣就可以把字串給排序了
demo程式如下:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
string s;
cin>>s;
cout<<s<<endl;
sort(s.begin(),s.end());
cout <<s<<endl;
return 0;
}
截圖:
通過這個我們可以看出,sort已經實現了對字串的排序修改
leetcode程式碼之一
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(),s.end());
sort(t.begin(),t.end());
return s==t;
}
};
超級簡單,當然還有一種也很巧的方法,叫做雜湊計數,這裡暫且不提,放在下一篇博文重點討論~