1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public
class
Solution {
public
char
findTheDifference(String s, String t) {
char
[] s1=s.toCharArray();
int
sum=
0
;
for
(
int
i=
0
;i<s1.length;i++){
sum+=s1[i];
}
char
[] s2=t.toCharArray();
int
sum1=
0
;
for
(
int
i=
0
;i<s2.length;i++){
sum1+=s2[i];
}
int
cha=sum1-sum-
97
;
return
(
char
)(
'a'
+cha);
}
}
|
PS:我直接算的acsll码。。。。。。
一开始因为char和int的类型强弱关系出了点麻烦。char类型低于int,所以把两者放一起时会变为int,要加char进行强制转换。
本文转自 努力的C 51CTO博客,原文链接:http://blog.51cto.com/fulin0532/1890581