| 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}
 |