Files

62 lines
1.2 KiB
Org Mode
Raw Permalink Normal View History

2026-06-01 18:12:40 +08:00
#+ANKI_DECK: study_deck_02
* DONE 0242. Valid Anagram :easy:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0242. Valid Anagram][0242. Valid Anagram]]
:END:
Given two strings ~s~ and ~t~, return ~true~ if ~t~ is an anagram of ~s~, and ~false~ otherwise.
*Example 1:*
*Input:* s = "anagram", t = "nagaram"
*Output:* true
*Example 2:*
*Input:* s = "rat", t = "car"
*Output:* false
*Constraints:*
- ~1 <= s.length, t.length <= 5 * 10^{4}~
- ~s~ and ~t~ consist of lowercase English letters.
*Follow up:* What if the inputs contain Unicode characters? How would you adapt your solution to such a case?
2026-06-01 18:12:40 +08:00
** DONE Approach
Write your approach here.
2026-06-01 18:12:40 +08:00
** DONE Python
2026-06-05 22:32:49 +08:00
#+begin_src python :lc-problem 242 :lc-lang python3
class Solution:
def isAnagram(self, s: str, t: str) -> bool:
#+end_src
2026-06-01 18:12:40 +08:00
** DONE C++
2026-06-05 22:32:49 +08:00
#+begin_src cpp :lc-problem 242
2026-06-01 18:12:40 +08:00
#include <map>
#include <string>
class Solution {
public:
2026-06-01 18:12:40 +08:00
bool isAnagram(std::string s, std::string t) {
std::map<char, int> ctr;
for (char c: s) {
ctr[c] += c;
}
2026-06-01 18:12:40 +08:00
for (char c: t) {
if (ctr[c] == 0) {
return false;
}
ctr[c] -= 1;
if (ctr[c] == 0) {
ctr.erase(c);
}
}
return ctr.size() == 0;
}
};
#+end_src