0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点# LeetCode程序员面试金典:找不同

题目

给定两个字符串 s 和 t ,它们只包含小写字母。


字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。


请找出在 t 中被添加的字母。


 


示例 1:


输入:s = "abcd", t = "abcde"

输出:"e"

解释:'e' 是那个被添加的字母。

示例 2:


输入:s = "", t = "y"

输出:"y"

代码实现

class Solution {
    public char findTheDifference(String s, String t) {
        int[] cnt = new int[26];
        for (int i = 0; i < s.length(); ++i) {
            char ch = s.charAt(i);
            cnt[ch - 'a']++;
        }
        for (int i = 0; i < t.length(); ++i) {
            char ch = t.charAt(i);
            cnt[ch - 'a']--;
            if (cnt[ch - 'a'] < 0) {
                return ch;
            }
        }
        return ' ';
    }
}


举报

相关推荐

0 条评论