题解 | #对称的二叉树#

对称的二叉树

http://www.nowcoder.com/practice/ff05d44dfdb04e1d83bdbdab320efbcb

    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param pRoot TreeNode类
# @return bool布尔型
#
# 使用中序遍历,获取列表,考虑列表是否对称即可
# 层次遍历加中序遍历,保证对称
class Solution:
    def isSymmetrical(self , pRoot: TreeNode) -> bool:
        # write code here
        if not pRoot:
            return True
        # 中序遍历部分
        nodestack = []
        reslist = []
        pRoot2 = pRoot
        while pRoot or len(nodestack) != 0:
            while pRoot:
                nodestack.append(pRoot)
                pRoot = pRoot.left
            pRoot = nodestack.pop()
            reslist.append(pRoot.val)
            pRoot = pRoot.right

        res1 = self.isSymmetic(reslist)

        # 层次遍历部分
        nodeduilie = [pRoot2]
        count = 1
        while True:
            tempcount = 0
            tempreslist = []
            for i in range(count):
                tempnode = nodeduilie.pop(0)
                tempreslist.append(tempnode.val)
                if tempnode.left:
                    nodeduilie.append(tempnode.left)
                    tempcount += 1
                if tempnode.right:
                    nodeduilie.append(tempnode.right)
                    tempcount += 1
            # 不满足层次遍历也不行
            if not self.isSymmetic(tempreslist):
                return False
            count = tempcount
            if count == 0:
                break

        return res1

    def isSymmetic(self, alist: [int]):
        length = len(alist)
        for i in range(length // 2):
            if alist[i] != alist[length - i - 1]:
                return False
        return True


全部评论

相关推荐

05-14 20:34
门头沟学院 Java
窝补药贝八股:管他们,乱说,反正又不去,直接说680
点赞 评论 收藏
分享
05-12 11:09
已编辑
门头沟学院 后端
已注销:没必要放这么多专业技能的描述。这些应该是默认已会的,写这么多行感觉在凑内容。项目这块感觉再包装包装吧,换个名字,虽然大家的项目基本都是网上套壳的,但是你这也太明显了。放一个业务项目,再放一个技术项目。技术项目,例如中间件的一些扩展和尝试。
点赞 评论 收藏
分享
就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位 >
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务