Golang | Leetcode Golang题解之第501题二叉搜索树中的众数
题目:
题解:
func findMode(root *TreeNode) (answer []int) {var base, count, maxCount intupdate := func(x int) {if x == base {count++} else {base, count = x, 1}if count == maxCount {answer = append(answer, base)} else if count > maxCount {maxCount = countanswer = []int{base}}}cur := rootfor cur != nil {if cur.Left == nil {update(cur.Val)cur = cur.Rightcontinue}pre := cur.Leftfor pre.Right != nil && pre.Right != cur {pre = pre.Right}if pre.Right == nil {pre.Right = curcur = cur.Left} else {pre.Right = nilupdate(cur.Val)cur = cur.Right}}return
}