leetcode 389. Find the Difference 牛人用异或 或者 求和 解决,很简单。

原创 2016年08月30日 22:45:35

389. Find the Difference

 
 My Submissions
  • Total Accepted: 7465
  • Total Submissions: 14609
  • Difficulty: Easy

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.










我的解法:利用hashmap进行记录
public class Solution {
public char findTheDifference(String s, String t){
    Map map=new HashMap<Character,Integer>();
    for(int i=0;i<s.length();i++){
        if(!map.containsKey(s.charAt(i)))
            map.put(s.charAt(i),1);
        else{
            int temp = (int)map.get(s.charAt(i));
            map.put(s.charAt(i),++temp);
        }
    }
    for(int a=0;a<t.length();a++){
        if(!map.containsKey(t.charAt(a))){
            return t.charAt(a);
        }
        else{
            int temp = (int)map.get(t.charAt(a));
            temp--;
            if(temp<0)return t.charAt(a);
            map.put(t.charAt(a),temp);
        }
    }
    return ' ';
    }
}

牛人解法:
java 用异或:
public char findTheDifference_B(String s, String t) {
	char c = 0;
	for (int i = 0; i < s.length(); ++i) {
		c ^= s.charAt(i);
	}
	for (int i = 0; i < t.length(); ++i) {
		c ^= t.charAt(i);
	}
	return c;
}

或者用求和,c:
char findTheDifference(char* s, char* t) {
    int sum1=0,sum2=0;
    for(;*s;s++)
        sum1+=*s;
    for(;*t;t++)
        sum2+=*t;
    return sum2-sum1;
}





版权声明:本文为博主原创文章,未经博主允许不得转载。

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
  • 2102

LeetCode 389. Find the Difference(异或)

Given two strings s and t which consist of only lowercase letters. String t is generated by random ...
  • ttshen5945
  • ttshen5945
  • 2017年05月31日 15:47
  • 91

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
  • 481

[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
  • 2335

389.[LeetCode]Find the Difference

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

LeetCode—389. Find the Difference

Find the Difference思路:建立一个长度26的数组,循环字符串s和t即可。 GitHub地址:https://github.com/corpsepiges/l...
  • corpsepiges
  • corpsepiges
  • 2016年08月29日 10:01
  • 569

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

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
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode 389. Find the Difference 牛人用异或 或者 求和 解决,很简单。
举报原因:
原因补充:

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