diff --git a/website/content/ChapterFour/0100~0199/0136.Single-Number.md b/website/content/ChapterFour/0100~0199/0136.Single-Number.md index c74b2362..a5801d4e 100755 --- a/website/content/ChapterFour/0100~0199/0136.Single-Number.md +++ b/website/content/ChapterFour/0100~0199/0136.Single-Number.md @@ -26,7 +26,7 @@ Your algorithm should have a linear runtime complexity. Could you implement it w ## 解题思路 - 题目要求不能使用辅助空间,并且时间复杂度只能是线性的。 -- 题目为什么要强调有一个数字出现一次,其他的出现两次?我们想到了异或运算的性质:任何一个数字异或它自己都等于0。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现依次的数字,因为那些出现两次的数字全部在异或中抵消掉了。于是最终做法是从头到尾依次异或数组中的每一个数字,那么最终得到的结果就是两个只出现一次的数字的异或结果。因为其他数字都出现了两次,在异或中全部抵消掉了。**利用的性质是 x^x = 0**。 +- 题目为什么要强调有一个数字出现一次,其他的出现两次?我们想到了异或运算的性质:任何一个数字异或它自己都等于0。也就是说,如果我们从头到尾依次异或数组中的每一个数字,那么最终的结果刚好是那个只出现一次的数字,因为那些出现两次的数字全部在异或中抵消掉了。于是最终做法是从头到尾依次异或数组中的每一个数字,那么最终得到的结果就是两个只出现一次的数字的异或结果。因为其他数字都出现了两次,在异或中全部抵消掉了。**利用的性质是 x^x = 0**。 ## 代码