关闭

Leetcode:Find the Difference

标签: leetcodejava
373人阅读 评论(0) 收藏 举报
分类:

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.

方法一:采用位运算,^异或运算。

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

方法二:使用加减,一加一减得到最终结果。

public class Solution {
    public char findTheDifference(String s, String t) {
    	char result = b.charAt(b.length() - 1);
        for (int i = 0; i < a.length(); i++) {
            result += b.charAt(i);
            result -= a.charAt(i);
        }
        return result;
    }
}


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:3740次
    • 积分:263
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类