leetcode找不同

1.辅助数组

使用一个额外的数组对字符进行计数

代码如下:

class Solution {
public:
    char findTheDifference(string s, string t) {
        vector<int> res(26,0);
         for(int i=0;i<t.size();i++)
          res[t[i]-'a']++;
        for(int i=0;i<s.size();i++)
          res[s[i]-'a']--;
        char c;
        for(int i=0;i<26;i++)
          if(res[i]==1)
          {
              c='a'+i;
              break;
          }
        return c;
    }
};

2.位运算

利用异或运算

class Solution {
public:
    char findTheDifference(string s, string t) {
       char c=0;//要赋初始值
       for(int i=0;i<s.size();i++)
       {
           c=c^s[i];
           c=c^t[i];
       }
       c=c^t[t.size()-1];
       return c;
    }
};
发布了219 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_38196982/article/details/104992023