LeetCode-389. Find the Difference (Java)
来源:互联网 发布:传奇霸业法师武魂数据 编辑:程序博客网 时间:2024/06/14 07:19
参考地址:http://www.cnblogs.com/styshoo/p/5922397.html
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.--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
本题还是比较两个字符串,找出多出来的一个字符,可用的方法还是比较多的,实现比较简单的有两种。
方法一,由于字符串t只比字符串s多了一个字符,那么直接用t中所有字符值的和减去字符串s中字符值的和即可:
public char findTheDifference(String s, String t) { int ret = 0; for (int i = 0; i < s.length(); i++) { ret -= (int)s.charAt(i); } for (int i = 0; i < t.length(); i++) { ret += (int)t.charAt(i); } return (char)ret;}
方法二,另外一种思路,既然字符串t只比字符串s多了一个字符,也就是说大部分字符都是相同的。那么,我们可以使用异或的方式,来找出这个不同的值:
public char findTheDifference(String s, String t) { int ret = 0; for (int i = 0; i < s.length(); i++) { ret ^= s.charAt(i); } for (int i = 0; i < t.length(); i++) { ret ^= t.charAt(i); } return (char)ret;}
阅读全文
0 0
- LeetCode-389. Find the Difference (Java)
- LeetCode : 389. Find the Difference
- Leetcode 389. Find the Difference
- 【leetcode】389. Find the Difference
- Leetcode 389. Find the Difference
- LeetCode 389. Find the Difference
- LeetCode 389. Find the Difference
- [LeetCode]389. Find the Difference
- [LeetCode]--389. Find the Difference
- leetcode 389. Find the Difference
- LeetCode 389. Find the Difference
- LeetCode 389. Find the Difference
- leetcode 389. Find the Difference
- 389.[LeetCode]Find the Difference
- 【LeetCode】 389. Find the Difference
- [LeetCode]389. Find the Difference
- leetcode-389. Find the Difference
- Leetcode 389. Find the Difference
- Kotlin Reference (六) 接口
- windows下vim编码乱码
- 特征离散化系列(一)方法综述
- 开发一个功能之前需要问的问题
- 《大话数据结构》读书笔记(三)
- LeetCode-389. Find the Difference (Java)
- js基础-表单验证和提交
- iptables网络访问控制
- Linux文件目录介绍及文件颜色
- 常用通信协议
- MySQL的几个概念:主键,外键,索引,唯一索引
- Git的详细使用
- HMM学习最佳范例:维特比算法(Viterbi Algorithm)
- 原生js封装获取上/下一个兄弟节点