본문 바로가기
알고리즘 문제풀이/leetcode

[leetcode 242] Valid Anagram

by m2162003 2020. 12. 1.

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

댓글