本文主要是介绍Golang | Leetcode Golang题解之第173题二叉搜索树迭代器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
题解:
type BSTIterator struct {stack []*TreeNodecur *TreeNode
}func Constructor(root *TreeNode) BSTIterator {return BSTIterator{cur: root}
}func (it *BSTIterator) Next() int {for node := it.cur; node != nil; node = node.Left {it.stack = append(it.stack, node)}it.cur, it.stack = it.stack[len(it.stack)-1], it.stack[:len(it.stack)-1]val := it.cur.Valit.cur = it.cur.Rightreturn val
}func (it *BSTIterator) HasNext() bool {return it.cur != nil || len(it.stack) > 0
}
这篇关于Golang | Leetcode Golang题解之第173题二叉搜索树迭代器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!