Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. /*
  2. * I'm writing the function in C++ assuming ASCII character set:
  3. */
  4.  
  5. // Method 1 : O(n lg(n)) :
  6. bool checkAnagrams(std::string s1, std::string s2) {
  7. std::sort(s1.begin(), s1.end());
  8. std::sort(s2.begin(), s2.end());
  9.  
  10. return s1 == s2;
  11. }
  12.  
  13. // Method 2 O(N) :
  14. bool checkAnagrams(std::string s1, std::string s2) {
  15. std::vector<int> freq1(128, 0), freq2(128, 0);
  16. for(int i = 0; i < s1.length(); i++) {
  17. freq1[s1[i]]++;
  18. }
  19. for(int i = 0; i < s2.length(); i++) {
  20. freq[s2[i]]++;
  21. }
  22.  
  23. // compare both frequencies :
  24. for(int i = 0; i < 128; i++) {
  25. if(freq1[i] != freq2[i])
  26. return false;
  27. }
  28. return true;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement