389. Find the Difference
来源:互联网 发布:中国大学生失业率数据 编辑:程序博客网 时间:2024/05/21 11:24
题目摘要
给出两个只有小写字母的字符串s和t,t是由s中的字母随机排序并添加一个新字母得到的,找出那个新字母
解法
1. 初始化一个长度位26的整形数组,遍历(foreach)字符串s,++;再遍历字符串t,–,当–结果小于0时,返回遍历的当前的字符
public class Solution { public char findTheDifference(String s, String t) { int[] alpha = new int[26]; for (char c : s.toCharArray()) { alpha[c - 'a']++; } for (char c : t.toCharArray()) { if (--alpha[c - 'a'] < 0) { return c; } } return 0; }}
- 位操作
public class Solution { public char findTheDifference(String s, String t) { char c = t.charAt(t.length() - 1); for (int i = 0; i < s.length(); i++) { c ^= s.charAt(i); c ^= t.charAt(i); } return c; }}
注意
* ^=java会自动转换类型,如果 char = char ^ char ^ char;
右边可能是int型,因为x ^ x = 0;
可问问题
原题
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:
eExplanation:
‘e’ is the letter that was added.
0 0
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference*
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 389. Find the Difference
- 欧几里得, 扩展欧几里得算法模板
- MySQL学习笔记
- 动态属性和元类型的声明和注册
- 运算符与表达式
- 2016 chinafinal总结
- 389. Find the Difference
- QWidget 以及QGridLayout 学习
- JAVA的abstract修饰符 && 接口interface用法
- h5学习之8(html中的盒模型)
- 首次使用gradle构建项目
- linux终端中文乱码问题
- 数据结构--数组
- android中的键值对
- 终端命令