题目:
给定二叉搜索树(BST)的根节点和一个值。你需要在 BST 中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,则返回 NULL 。
示例:
给定二叉搜索树: 4 / 2 7 / 1 3 和值: 2
返回如下子树:
2 / 1 3
递归方法:
func Getson1(root *Node, value int64) *Node { if root == nil { return nil } if root.Value > value { return Getson1(root.Left, value) } else if root.Value < value { return Getson1(root.Rigth, value) } else { return root } return nil }
迭代方法:
func GetSon2(root *Node, value int64) *Node { for root != nil { if root.Value > value { root = root.Left } else if root.Value < value { root = root.Rigth } else { return root } } return nil }
地址:https://mp.weixin.qq.com/s/iIm3M7HsPiKBNJo37jxIdg