leetcode hot100 136. 只出现一次的数字 easy 技巧 位运算 异或 XOR(^)


异或 XOR(^)

  1. a ^ a = 0 (相同抵消)
  2. a ^ 0 = a (不变)
  3. 满足交换律、结合律

时间复杂度:O(n)

空间复杂度:O(1)

clike 复制代码
class Solution:
    def singleNumber(self, nums: List[int]) -> int:

        # 异或 XOR(^)
        # a ^ a = 0        (相同抵消)
        # a ^ 0 = a        (不变)

        res = 0
        for x in nums:
            res ^= x
        return res
相关推荐
mmmmath_34 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z4 小时前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
参.商.6 小时前
【Day 53】76. 最小覆盖子串
leetcode·golang
虚无的纽扣8 小时前
【力扣刷题】第二天:无重复字符的最长字串、移动零问题
算法·leetcode·排序算法
圣保罗的大教堂11 小时前
leetcode 3742. 网格中得分最大的路径 中等
leetcode
我不会起名字32213 小时前
一天一道算法题(35):电话号码的字母组合
java·数据结构·后端·python·leetcode·go·回溯
圣保罗的大教堂14 小时前
leetcode 2033. 获取单值网格的最小操作数 中等
leetcode
6Hzlia14 小时前
【Classic 150 刷题计划】 LeetCode 242. 有效的字母异位词 | C++ 哈希计数与严密防线
c++·算法·leetcode
wabs66614 小时前
关于二叉树【力扣101.对称二叉树的思考】
数据结构·c++·算法·leetcode·二叉树
6Hzlia14 小时前
【Classic 150 刷题计划】 LeetCode 228. 汇总区间 | C++ 双游标区间扫描与 to_string 规范
c++·算法·leetcode