首页 > 其他 > 详细

二叉搜索树中的搜索

时间:2020-09-25 11:34:17      阅读:24      评论:0      收藏:0      [点我收藏+]

题目:

给定二叉搜索树(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 {
		Getson1(root.Left, value)
	} else if root.Value < value {
		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

 

 

二叉搜索树中的搜索

原文:https://www.cnblogs.com/smallleiit/p/13728484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!