zoukankan      html  css  js  c++  java
  • 389 Find the Difference 找不同

    给定两个字符串 s 和 t,它们只包含小写字母。
    字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
    请找出在 t 中被添加的字母。
    示例:
    输入:
    s = "abcd"
    t = "abcde"
    输出:
    e
    解释:
    'e' 是那个被添加的字母。
    详见:https://leetcode.com/problems/find-the-difference/description/

    C++:

    方法一:

    class Solution {
    public:
        char findTheDifference(string s, string t) {
            char res=0;
            for(char c:s)
            {
                res^=c;
            }
            for(char c:t)
            {
                res^=c;
            }
            return res;
        }
    };
    

     方法二:

    class Solution {
    public:
        char findTheDifference(string s, string t) {
            unordered_map<char, int> m;
            for (char c : s)
            {
                ++m[c];
            }
            for (char c : t) 
            {
                if (--m[c] < 0)
                {
                    return c;
                }
            }
            return 0;
        }
    };
    
  • 相关阅读:
    I
    H
    G
    F
    E
    论js里面的for循环
    js常见问题之为什么点击弹出的i总是最后一个
    array类型的方法
    string类型的方法
    for in在对象和数组中的应用
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8849419.html
Copyright © 2011-2022 走看看