| 1234567891011121314151617181920212223242526 | 
							- /**
 
-  * Definition for a binary tree node.
 
-  * type TreeNode struct {
 
-  *     Val int
 
-  *     Left *TreeNode
 
-  *     Right *TreeNode
 
-  * }
 
-  */
 
- func countNodes(root *TreeNode) (cnt int) {
 
- 	if root == nil {
 
- 		return
 
- 	}
 
- 	lvs := []*TreeNode{root}
 
- 	for n := len(lvs); n != 0; n = len(lvs) {
 
- 		node := lvs[n-1]
 
- 		lvs = lvs[:n-1]
 
- 		cnt++
 
- 		if node.Left != nil {
 
- 			lvs = append(lvs, node.Left)
 
- 		}
 
- 		if node.Right != nil {
 
- 			lvs = append(lvs, node.Right)
 
- 		}
 
- 	}
 
- 	return
 
- }
 
 
  |