二叉树镜像非递归实现,和其他答案对比了不知道哪里有问题请指教

# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 
# @param pRoot TreeNode类 
# @return void
#
class Solution:
    def Mirror(self , pRoot ):
        if pRoot&nbs***bsp;(pRoot.left==None and pRoot.right==None):
            return pRoot
        m = pRoot
        q = [pRoot]
        while q:
            s = q.size()
            while s:
                pRoot = q.pop(0)
                l,r =pRoot.left, pRoot.right
                pRoot.left,pRoot.right = r,l
                if pRoot.left:
                    q.append(pRoot.left)
                if pRoot.right:
                    q.append(pRoot.right)
                s = s-1
        return m

        # write code here

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务