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