LintCode_在二叉查找树中插入节点
来源:互联网 发布:php7不支持mysql扩展 编辑:程序博客网 时间:2024/06/06 04:59
给定一棵二叉查找树和一个新的树节点,将节点插入到树中。
你需要保证该树仍然是一棵二叉查找树。
注意事项
You can assume there is no duplicate values in this tree + node.
样例
给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:
2 2 / \ / \1 4 --> 1 4 / / \ 3 3 6
思路:这个无非是先查找(根据题意肯定是找不到数据相同的点),然后确认新加的点的父节点(用变量hot追踪),然后再判断hot的数据和新加点的数据的大小关系插入即可。
class Solution {public: /** * @param root: The root of the binary search tree. * @param node: insert this node into the binary search tree * @return: The root of the new binary search tree. */ TreeNode* hot; TreeNode* searchIn(TreeNode* root,int target) { if(!root) return nullptr; if(root->val==target) return root; hot=root; if(target<root->val) return searchIn(root->left,target); if(target>root->val) return searchIn(root->right,target); //上两句应该都是return语句,因为要完成递归 } TreeNode* insertNode(TreeNode* root, TreeNode* node) { // write your code here if(root==nullptr) {root=node;return root;} if(searchIn(root,node->val)) return nullptr; else { if(hot->val>node->val) hot->left=node; else hot->right=node; } return root; }};
阅读全文
0 0
- LintCode_在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 在二叉查找树中插入节点
- 下载更新APP版本号
- hdu6141 最大树形图+权值编码
- 最全oracle单行函数之日期函数用法
- composer self-update 出现 [ErrorException] zlib_decode(): data error提示的解决!
- 剑指offer-判断二叉树是否对称
- LintCode_在二叉查找树中插入节点
- 通过xhell输入命令对多个linux进行同时操作
- hdu 6108 小C的倍数问题【一个数的因子个数】
- C#中this的用法
- 读写CFILE 与UpdateData
- Hibernate之HQL的基本用法
- 华为2017校招第二题删除重复的数,得到最大值。
- 【模板】缩点 洛谷p3387
- 2017.8.23考试