本文共 873 字,大约阅读时间需要 2 分钟。
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
转载地址:http://wtupx.baihongyu.com/