Leetcode每日刷题之面试题01.02判断是否互为字符重排(C++) - wpsshop博客
当前位置:   article > 正文

Leetcode每日刷题之面试题01.02判断是否互为字符重排(C++)

Leetcode每日刷题之面试题01.02判断是否互为字符重排(C++)

1. 题目解析

本题判断的是两个字符串,其中一个字符串变换顺序是否可以变化为第二个字符串,即重排后是否为同一字符串

 

2. 算法原理

这里我的思路是直接统计两字符串中字符出现的次数,然后直接比较即可,我使用了范围for以及字符ASCII码值充当下标来创建两个数组存储两个字符串中字符出现的次数,最后比较即可

3. 代码实现

  1. class Solution {
  2. public:
  3. bool CheckPermutation(string s1, string s2)
  4. {
  5. int count1[26] = {0};
  6. int count2[26] = {0};
  7. for(auto ch : s1)
  8. {
  9. count1[ch - 'a']++;
  10. }
  11. for(auto ch : s2)
  12. {
  13. count2[ch - 'a']++;
  14. }
  15. for(int i = 0;i < 26;i++)
  16. {
  17. if(count1[i]!=count2[i])
  18. {
  19. return false;
  20. }
  21. }
  22. return true;
  23. }
  24. };

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/987837
推荐阅读
相关标签
  

闽ICP备14008679号