222. Count Complete Tree Nodes

2016-12-17  本文已影响0人  阿团相信梦想都能实现
# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution(object):
    def height(self,root):
        return 0 if root==None else 1+self.height(root.left)
        
    def countNodes(self, root):
        """
        :type root: TreeNode
        :rtype: int
        """
        h=self.height(root)
        if h<=0:return 0
        elif self.height(root.right)==h-1:
            return 2**(h-1)+self.countNodes(root.right)
        else:
            return 2**(h-2)+self.countNodes(root.left)
                
上一篇 下一篇

猜你喜欢

热点阅读