389. Find the Difference

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.

题目含义:给定两个字符串s和t,都只包含小写字母,字符串t是由字符串s打乱顺序且在额外的随机位置上添加一个字符组成,请找出这个字符

方法一:

 1     public char findTheDifference(String s, String t) {
 2         char result = 0;
 3         for (int i=0;i<t.length();i++){
 4             result += t.charAt(i);
 5         }
 6 
 7         for (int i=0;i<s.length();i++){
 8             result -= s.charAt(i);
 9         }
10         return result;  
11     }

方法二:

 1     public char findTheDifference(String s, String t) {
 2         char result = 0;
 3         for (int i=0;i<s.length();i++){
 4             result ^= s.charAt(i);
 5         }
 6 
 7         for (int i=0;i<t.length();i++){
 8             result ^= t.charAt(i);
 9         }
10         return result;
11     }

 

posted @ 2017-10-23 20:52  daniel456  阅读(141)  评论(0编辑  收藏  举报