题目:
思路+代码:
思路:递归判断,left.val ?= right.val
递归终止条件:1.如果是叶子节点,那么return true; 2.如果单个子树不存在左或右节点,或者值不相等return False;
递推:L.value ?= right.val
返回值:分布返回左右子树判断
class Solution:
def isSymmetric(self, root: TreeNode) -> bool:
def recur(L,R):
if not L and not R: return True
if not L or not R or L.val != R.val: return False
return recur(L.left, R.right) and recur(L.right, R.left)
return recur(root.left, root.right) if root else True