2024-05-14 23:02:46 发布
网友
我在leetcode中遇到了一个名为246. Strobogrammatic Number的问题
246. Strobogrammatic Number
class Solution(object): def isStrobogrammatic(self, num): return all(num[i] + num[~i] in '696 00 11 88' for i in range(len(num)/2+1))
我很好奇num[~i]是什么意思?在
num[~i]
~是NOT位运算符。本质上它将反转所有的位。
~
NOT
因此,如果您在4位上执行~,比如0101,它将反转为1010。
0101
1010
Here's这是我发现的一个有用的答案,因为按位运算符可能会变成一个复杂的主题,而这个主题肯定已经被讨论过了。
for i in range(10): ... print(i, ~i) ... 0 -1 1 -2 2 -3 3 -4 4 -5 5 -6 6 -7 7 -8 8 -9 9 -10
它(可能)意味着颠倒数字的二进制表示。
~
是NOT
位运算符。本质上它将反转所有的位。因此,如果您在4位上执行
~
,比如0101
,它将反转为1010
。Here's这是我发现的一个有用的答案,因为按位运算符可能会变成一个复杂的主题,而这个主题肯定已经被讨论过了。
它(可能)意味着颠倒数字的二进制表示。
相关问题 更多 >
编程相关推荐