LeetCode 389. Find the Difference

389. Find the Difference(找不同)

题目:

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

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

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

  示例:

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

  输出:
  e

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

思路:

  这题的方法挺多的,可以排序之后遍历查找,也可以哈希存储之后找到数值不同的存储位,最后还是选了统计字符串的int值的和,二者的差就是多的那个字母的int值,再次转换就行了。(此思路来自评论,真是大佬思路)

代码:

 1     public static char findTheDifference(String s, String t)
 2     {
 3         char ch1 [] = s.toCharArray();
 4         char ch2 [] = t.toCharArray();
 5         int sum = 0;
 6         for(int i = 0;i < ch1.length;i++)
 7         {
 8             sum = sum + (int)ch1[i];
 9         }
10         for(int i = 0;i < ch2.length;i++)
11         {
12             sum = sum - (int)ch2[i];
13         }
14         sum = Math.abs(sum);
15         char c = (char)sum;
16         return c;
17         
18     }
View Code
原文地址:https://www.cnblogs.com/blogxjc/p/10941620.html