zoukankan      html  css  js  c++  java
  • 力扣(LeetCode)389. 找不同

    给定两个字符串 s 和 t,它们只包含小写字母。

    字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。

    请找出在 t 中被添加的字母。

    示例:

    输入:
    s = "abcd"
    t = "abcde"

    输出:
    e

    解释:
    'e' 是那个被添加的字母。

    思路 1.先将字符串排序,从小到大,然后逐一比较

    这种情况和1001个数,每个数字1~1000,有一个重复数字一样。可以使用异或法 或者作差法

    java 字符数组排序遍历查找 版

    class Solution {
        public char findTheDifference(String s, String t) {
            char[] cs = s.toCharArray();
            char[] ct = t.toCharArray();
            Arrays.sort(cs);
            Arrays.sort(ct);
            for(int i=0;i<cs.length;i++) {
                if(cs[i]!=ct[i]){
                    return ct[i];  
                }
            }
            return ct[ct.length-1];
        }
    }
    

    java 字符数组求和作差 版

    class Solution {
        public char findTheDifference(String s, String t) {
           char[] cs = s.toCharArray();
           char[] ct = t.toCharArray();
           int total = 0;
           for(int i=0;i<ct.length;i++) {
               total +=ct[i];
           }
           for(int i=0;i<cs.length;i++) {
               total -=cs[i];
           }
           return (char)total;
            
        }
    }
    

    java 字符数组异或 版

    class Solution {
        public char findTheDifference(String s, String t) {
           char[] cs = s.toCharArray();
           char[] ct = t.toCharArray();
           int total = 0;
           for(int i=0;i<ct.length;i++) {
               total ^=ct[i];
           }
           for(int i=0;i<cs.length;i++) {
               total ^=cs[i];
           }
           return (char)total;
            
        }
    }
    

    运行结果

  • 相关阅读:
    使用koa+mongodb构建的仿知乎接口(二)
    使用koa+mongodb构建的仿知乎接口(一)
    flask学习笔记
    后端遇到一些问题
    前端项目一些细节总结
    python基础学习
    vue本地运行项目使用iframe的跨域问题
    hover状态下改变图片颜色的方式 悬停图片切换;css变量;悬停svg图片改变颜色;VUE
    深拷贝
    git初使用
  • 原文地址:https://www.cnblogs.com/lick468/p/10671415.html
Copyright © 2011-2022 走看看