zoukankan      html  css  js  c++  java
  • 返回实现【微软面试题】在二叉搜索树中找最小的大于某个key值的节点

    废话就不多说了,开始。。。

        在二叉搜索树中找最小的大于某个key值的节点

        如
             8
          /       \

       6         12
      /             /   \
    2          11    14

        key = 8 返回11
    key = 1 返回2
    key = 16 返回NULL

        每日一道理
    在每个人心中,都曾停留过那些值得怀念的人,也许还在,也许早已消逝,在茫茫人海中丢失,于是,那份怀念便得凄凉,因为模糊的记忆中只剩下一个“空壳”,没有什么,甚至连自己的心都装不下,时间把一切抹平,也把当日的泪水封锁,因为已经没有,怀念只是悲凉!
    struct TreeNode
    {
    	int val;
    	TreeNode* left;
    	TreeNode* right;
    };
    
    // 迭代实现
    TreeNode * FindCeiling(TreeNode *root, int key)
    {
    	TreeNode * ceiling = NULL;
    	TreeNode * current = root;
    	while(current)
    	{
    		if(current->val <= key)
    			current = current->left;
    		else
    		{
    			ceiling = current;
    			current = current->right;
    		}
    	}
    	return ceiling;
    }
    
    // 递归实现
    TreeNode * FindCeiling(TreeNode *root, int key)
    {
    	if(root == NULL)
    		return NULL;
    	if(root->val <= key)
    		return FindCeiling(root->right, key);
    	else
    	{
    		TreeNode *ceiling = FindCeiling(root->left, key);
    		return ceiling ? ceiling : root;
    	}
    }

    文章结束给大家分享下程序员的一些笑话语录: 人工智能今天的发展水平:8乘8的国际象棋盘其实是一个体现思维与创意的强大媒介。象棋里蕴含了天文数字般的变化。卡斯帕罗夫指出,国际象棋的合法棋步共有1040。在棋局里每算度八步棋,里面蕴含的变化就已经超过银河系里的繁星总数。而地球上很少有任何数量达到这个级别。在金融危机之前,全世界的财富总和大约是1014人民币,而地球人口只有1010。棋盘上,所有可能的棋局总数达到10120,这超过了宇宙里所有原子的总数!经典语录网

  • 相关阅读:
    任意数字 保留 两位 小数 PHP
    在JavaScript中处理JSON数据 jquery js 定义 json 格式
    相对定位 绝对定位 relative absolute position 图片定位a标签
    oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
    python
    python
    python-判断alter是否存在
    python-IE浏览器调用
    Python语言编写脚本时,对日期控件的处理方式
    python报错UnicodeDecodeError:
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3084491.html
Copyright © 2011-2022 走看看