zoukankan      html  css  js  c++  java
  • LeetCode找不同Swift

    给定两个字符串 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"

    提示:

    0 <= s.length <= 1000
    t.length == s.length + 1
    s 和 t 只包含小写字母

    思路一:两字符串排序再比较

    class Solution {
        func findTheDifference(_ s: String, _ t: String) -> Character {
            let S = s.sorted()
            let T = t.sorted()
            for i in 0..<S.count {
                if S[i] != T[i] {
                    return T[i]
                }
            }
            return T.last!
        }
    }

    思路二:异或 0^a=a  a^a=1

    class Solution {
        func findTheDifference(_ s: String, _ t: String) -> Character {
            var flag:UInt8 = 0
            for c in s {
                flag ^= c.asciiValue!
            }
            for c in t {
                flag ^= c.asciiValue!
            }
            return Character(UnicodeScalar(flag))
        }
    }
  • 相关阅读:
    netty 服务端 启动阻塞主线程
    idea踩过的坑
    bat批量重命名
    图片上传
    TCP/IP入门指导
    CPU governor调节器汇总
    IT咨询顾问:一次吐血的项目救火
    python 数组
    Python字符串
    基于Python实现对各种数据文件的操作
  • 原文地址:https://www.cnblogs.com/huangzs/p/14154165.html
Copyright © 2011-2022 走看看