1609. 奇偶树
广度优先搜索实现二叉树的层序遍历,且层号做好标记,且判断一下单调性
class Solution:
def isEvenOddTree(self, root: Optional[TreeNode]) -> bool:
que = [root]
tim ,num= 1,1
while que:
now = 0
for i in range(num):
if que[0].left :
que.append(que[0].left)
now +=1
if que[0].right:
que.append(que[0].right)
now +=1
if que[0].val %2 !=tim:
return False
if num >1 and i<num-1 and que[0].val *(0.5-tim) <= que[1].val*(0.5-tim):
return False
del que [0]
num = now
tim =1-tim
return True
136. 只出现一次的数字
异或运算
class Solution:
def singleNumber(self, nums: List[int]) -> int:
a = 0
for i in nums:
a ^=i
return a