zoukankan      html  css  js  c++  java
  • 二叉搜索树中的搜索

    题目:

    给定二叉搜索树(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

     

  • 相关阅读:
    Django框架
    Django框架
    Django框架
    Django框架
    Bootstrap框架
    前端之jQuery
    前端之BOM和DOM
    Flask框架配置管理
    lement-ui、接口、restful规范、drf、跨域问题
    Vue项目入口与小知识总结
  • 原文地址:https://www.cnblogs.com/smallleiit/p/13728484.html
Copyright © 2011-2022 走看看