389. Find the Difference

原创 2016年08月29日 08:09:47

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.
Subscribe to see which companies asked this question

解题思路:就是用个hashmap存储字母分布,然后找出不一样的。这里直接用Java的hashmap,因为题目限定是小写字母,其实可以使用26位的数组即可。

public class Solution {
    public char findTheDifference(String s, String t) {
        int slen = s.length();
        int tlen = t.length();
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        for(int i = 0; i < slen; i++)
        {
            if(map.containsKey(s.charAt(i)))
            {
                int value = map.get(s.charAt(i));
                value++;
                map.put(s.charAt(i), value);
            }else{
                map.put(s.charAt(i), 1);
            }
        }
        char res='\0';
        for(int i = 0; i < tlen; i++)
        {
            if(map.containsKey(t.charAt(i)))
            {
              int value = map.get(t.charAt(i));
              value--;
              if(value < 0)
              {
                  res = t.charAt(i);
                  break;
              }
              map.put(t.charAt(i), value);
            }else{
                res = t.charAt(i);
                break;
            }

        }
        return res;
    }
}

leetcode算法——389. Find the Difference(基于JAVA)

Given two strings s and t which consist of only lowercase letters. String t is generated by random s...
  • micky_Kiko
  • micky_Kiko
  • 2016年09月06日 11:48
  • 1294

【python】【leetcode】【算法题目389—Find the Difference】

一、题目描述 题目原文: Given two strings s and t which consist of only lowercase letters. String t ...
  • u014615155
  • u014615155
  • 2016年12月04日 12:03
  • 287

leetcode_389 Find the Difference

题目分析给定两个字符串s和t,都只包含小写字母,字符串t是由字符串s打乱顺序且在额外的随机位置上添加一个字符组成,请找出这个字符。 解题思路1)利用一个数组,先统计s字符串中每个字符出现的次数,然后统...
  • yzhang6_10
  • yzhang6_10
  • 2016年08月29日 20:37
  • 2105

LeetCode389. Find the Difference简单

Given two strings s and t which consist of only lowercase letters. String t is generated by rando...
  • booirror
  • booirror
  • 2016年08月28日 23:28
  • 483

[leetcode] 389. Find the Difference 解题报告

题目链接: https://leetcode.com/problems/find-the-difference/ Given two strings s and t which consis...
  • qq508618087
  • qq508618087
  • 2016年08月29日 14:10
  • 2337

[leetcode]--389. Find the Difference

Question 389: Given two strings s and t which consist of only lowercase letters. String t is ...
  • u010853261
  • u010853261
  • 2017年02月02日 12:25
  • 216

389.[LeetCode]Find the Difference

给出两个字符串s,t。t是s打乱顺序之后,在随机位置,再添加一个字符的结果。找出这个添加的字符是什么?这个典型的可以用哈希和位运算的题目:Hashpublic class Solution { ...
  • qq_28057541
  • qq_28057541
  • 2016年12月05日 09:21
  • 160

Tutorial: 389. Find the Difference

LeetCode算法题:389. Find the Difference的解法。
  • atmiao
  • atmiao
  • 2016年12月26日 22:18
  • 166

Leetcode——389. Find the Difference

题目Given two strings s and t which consist of only lowercase letters.String t is generated by random ...
  • starstar1992
  • starstar1992
  • 2017年01月12日 11:44
  • 138

LeetCode—389. Find the Difference

Find the Difference思路:建立一个长度26的数组,循环字符串s和t即可。 GitHub地址:https://github.com/corpsepiges/l...
  • corpsepiges
  • corpsepiges
  • 2016年08月29日 10:01
  • 571
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:389. Find the Difference
举报原因:
原因补充:

(最多只允许输入30个字)