标签:char cnt ch charAt 示例 int 力扣 389 难度
题目
给定两个字符串 s 和 t,它们只包含小写字母。
字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。
请找出在 t 中被添加的字母。
示例 1:
输入:s = "abcd", t = "abcde"
输出:"e"
解释:'e' 是那个被添加的字母。
示例 2:
输入:s = "", t = "y"
输出:"y"
示例 3:
输入:s = "a", t = "aa"
输出:"a"
示例 4:
输入:s = "ae", t = "aea"
输出:"a"
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-difference
题解
这道题可以使用计数法,先把s的字符技术,然后对t的字符数进行比较.
s.charAt(i) : 取i位置的字符
代码
1 public char findTheDifference(String s, String t) { 2 int[] cnt = new int[26]; 3 for (int i = 0; i < s.length(); ++i) { 4 char ch = s.charAt(i); 5 cnt[ch - 'a']++; 6 } 7 for (int i = 0; i < t.length(); ++i) { 8 char ch = t.charAt(i); 9 cnt[ch - 'a']--; 10 if (cnt[ch - 'a'] < 0) { 11 return ch; 12 } 13 } 14 return ' '; 15 }
标签:char,cnt,ch,charAt,示例,int,力扣,389,难度 来源: https://www.cnblogs.com/zhangmuchen/p/15827055.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。