Leetcode 389. Find the Difference JAVA语言

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随记洗牌后多加了一个字母组成的,找出那个多加的字母。

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进行强制转换。

赞 (0) 评论 分享 ()