前言
刷题专栏到目前已经是第二十七篇了,欢迎大家来关注我的刷题专栏,一起来刷题。
今天的这道题,《找不同》,是关于字符串的一道题。
如果你要更熟练的使用字符串的诸多特性。
那就一起来看一下这道题的解法吧。
算法题:找不同
根据题目的描述来看,是要在两个字符串中找出不一样的字母。
且两个字符串只会相差一个字符,都是只包含小写字母。
通过这两个重要特征,我们解题的思路就很简单了。
思路有很多种,比如,我们可以通过Set集合来存储,然后一一排除,找到最后就可以找到不同之处。
再比如,char类型的字母是固定的值,我们可以将所有的字母转为整数数值保存,最后进行相减后转换成char值即可达到预期结果。
接下来我们就一起来看一下相关的代码编写吧。
代码展示
本次执行的代码如下,大家可以自行参考一下。
采用的就是关于char字母的整型数字总和相减的方式来处理的。
public class Solution { public static void main(String[] args) { Solution solution = new Solution(); System.out.println(solution.findTheDifference("a", "ac")); } public char findTheDifference(String s, String t) { int a = 0, b = 0; for (int i = 0; i < s.length(); ++i) { a += s.charAt(i); } for (int i = 0; i < t.length(); ++i) { b += t.charAt(i); } return (char) (b - a); } }
代码执行结果
本次代码执行的效率一般,内存消耗严重,执行用时却没有提升上来。看来这个方法有待提高。
总结
本题主要就是考察关于char类型字母的使用,和对字符串获取的熟练掌握。大家学会了吗,有问题评论区见。