diff --git a/src/main/java/leetcode/editor/cn/FindTheDifference.java b/src/main/java/leetcode/editor/cn/FindTheDifference.java new file mode 100644 index 0000000..ec88c8c --- /dev/null +++ b/src/main/java/leetcode/editor/cn/FindTheDifference.java @@ -0,0 +1,62 @@ +//给定两个字符串 s 和 t ,它们只包含小写字母。 +// +// 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 +// +// 请找出在 t 中被添加的字母。 +// +// +// +// 示例 1: +// +// +//输入:s = "abcd", t = "abcde" +//输出:"e" +//解释:'e' 是那个被添加的字母。 +// +// +// 示例 2: +// +// +//输入:s = "", t = "y" +//输出:"y" +// +// +// +// +// 提示: +// +// +// 0 <= s.length <= 1000 +// t.length == s.length + 1 +// s 和 t 只包含小写字母 +// +// Related Topics 位运算 哈希表 字符串 排序 👍 309 👎 0 + +package leetcode.editor.cn; + +//389:找不同 +public class FindTheDifference{ + public static void main(String[] args) { + Solution solution = new FindTheDifference().new Solution(); + + } + +//leetcode submit region begin(Prohibit modification and deletion) +class Solution { + public char findTheDifference(String s, String t) { + int[] chs = new int[26]; + for (char ch:s.toCharArray()){ + chs[ch-'a']++; + } + for (char ch:t.toCharArray()){ + if(chs[ch-'a']==0){ + return ch; + } + chs[ch-'a']--; + } + return 'a'; + } +} +//leetcode submit region end(Prohibit modification and deletion) + +} \ No newline at end of file diff --git a/src/main/java/leetcode/editor/cn/doc/content/FindTheDifference.md b/src/main/java/leetcode/editor/cn/doc/content/FindTheDifference.md new file mode 100644 index 0000000..fc81bef --- /dev/null +++ b/src/main/java/leetcode/editor/cn/doc/content/FindTheDifference.md @@ -0,0 +1,33 @@ +
给定两个字符串 s
和 t
,它们只包含小写字母。
字符串 t
由字符串 s
随机重排,然后在随机位置添加一个字母。
请找出在 t
中被添加的字母。
+ +
示例 1:
+ ++输入:s = "abcd", t = "abcde" +输出:"e" +解释:'e' 是那个被添加的字母。 ++ +
示例 2:
+ ++输入:s = "", t = "y" +输出:"y" ++ +
+ +
提示:
+ +0 <= s.length <= 1000
t.length == s.length + 1
s
和 t
只包含小写字母