文巾解题 136. 只出现一次的数字

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文巾解题 136. 只出现一次的数字相关的知识,希望对你有一定的参考价值。

1 题目描述

2 解题思路

2.1 count函数

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        for i in nums:
            if(nums.count(i)==1):
                return i

这个的时间复杂度很高

2.2 逐个异或运算

相同的数字进行异或运算,结果为0

和0异或的结果就是自己

那么我们把所有的数字异或在一起,相同的数字都被消除了,就得到了唯一的那一个数

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        ret=0
        for i in nums:
            ret=ret^i
        return ret

以上是关于文巾解题 136. 只出现一次的数字的主要内容,如果未能解决你的问题,请参考以下文章

leetcode136 只出现一次的数字(Easy)

136. 只出现一次的数字-异或

LeetCode 136. 只出现一次的数字(Single Number)

LeetCode做题笔记第136题:只出现一次的数字

Leetcode136. 只出现一次的数字(位运算)

java刷题--136只出现一次的数字