1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 对称二叉树Python解法

对称二叉树Python解法

时间:2019-02-11 09:23:41

相关推荐

对称二叉树Python解法

给你一个二叉树的根节点root, 检查它是否轴对称。

例:

输入:root = [1,2,2,3,4,4,3]输出:true

解析:

因为是二叉树,那么一次只需要比较两个节点即可。根节点比较一次,中间节点比较两次,左边节点的左节点和右边节点的右节点,左边节点的右节点和右边节点的左节点。递归。

# Definition for a binary tree node.# class TreeNode(object):#def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution(object):def isSymmetric(self, root):""":type root: TreeNode:rtype: bool"""def check(node1, node2):if not node1 and not node2: # 两个节点都不存在return Trueelif not node1 or not node2: # 一个存在一个不存在return Falseif node1.val != node2.val: # 值不相等return Falsereturn check(node1.left, node2.right) and check(node1.right, node2.left) # 分两次比对,因为是二叉树,一个节点最多有两个子节点。return check(root, root)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。