关闭

Leetcode 389. Find the Difference 找不同 解题报告

标签: 找不同字符串异或面试leetcode
1683人阅读 评论(0) 收藏 举报
分类:

1 解题思想

有两个字符串S和T,T是S打乱后多加一个字符,要找出这个不同的字符来。

嗯,这个问题其实就是异或,除了T多的那个字符外,都可以在异或中消除,不多说,很简单

2 原题

Given two strings s and t which consist of only lowercase letters.

String t is generated by random shuffling string s and then add one more letter at a random position.

Find the letter that was added in t.

Example:

Input:
s = "abcd"
t = "abcde"

Output:
e

Explanation:
'e' is the letter that was added.

3 AC解

public class Solution {
    public char findTheDifference(String s, String t) {
        char tmp = 0x00;
        for(int i=0;i<s.length();i++)
            tmp =(char)( tmp ^ s.charAt(i));
        for(int i=0;i<t.length();i++)
            tmp = (char)(tmp ^ t.charAt(i));
        return tmp;
    }
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:284572次
    • 积分:5443
    • 等级:
    • 排名:第4895名
    • 原创:269篇
    • 转载:0篇
    • 译文:0篇
    • 评论:56条
    最新评论