Given two strings s and t , write a function to determine if t is an anagram of s.
Example 1:
Input: s = "anagram", t = "nagaram" Output: true
Example 2:
Input: s = "rat", t = "car" Output: 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?
문제 난이도: easy
주어진 문자열이 소문자 알파벳만 있어서 가능한 풀이: 벡터를 사용한다.
class Solution {
public:
bool isAnagram(string s, string t) {
vector<int> v1(26,0);
vector<int> v2(26,0);
int len1 = s.length();
int len2 = t.length();
if(len1 != len2) return false;
for(int i=0; i<s.length(); i++){
v1[s[i] - 'a']++;
v2[t[i] - 'a']++;
}
return v1 == v2;
}
};
follow up 질문처럼 다른 문자도 있다면? 해쉬맵을 써야 한다.
'알고리즘 문제풀이 > leetcode' 카테고리의 다른 글
[leetcode 268] Missing Number (0) | 2020.12.03 |
---|---|
[leetcode 190] Reverse Bits (0) | 2020.12.03 |
[leetcode 344] Reverse String (0) | 2020.12.01 |
[leetcode 350] Intersection of Two Arrays II (0) | 2020.12.01 |
[leetcode 191] Number of 1 Bits (0) | 2020.11.30 |
댓글