human
Solve in Python:
Given a complete binary tree, count the number of nodes.

Note: 

Definition of a complete binary tree from Wikipedia:
In a complete binary tree every level, except possibly the last, is completely filled, and all nodes in the last level are as far left as possible. It can have between 1 and 2h nodes inclusive at the last level h.

Example:

Input: 
    1
   / \
  2   3
 / \  /
4  5 6

Output: 6
assistant
#Here is the Python code you requested.

# Definition for a binary tree node.
 # class TreeNode:
 #     def __init__(self, x):
 #         self.val = x
 #         self.left = None
 #         self.right = None
 
 class Solution:
     def findHeight(self, node):
         return -1 if node is None else 1 + self.findHeight(node.left)
         
     def countNodes(self, root):
         """
         :type root: TreeNode
         :rtype: int
         """
         h = self.findHeight(root)
         return 0 if h == -1 else ((1 << h) + self.countNodes(root.right) 
                                   if self.findHeight(root.right) == h-1 else (1 << h-1) + self.countNodes(root.left))