lintcode-在二叉查找树中插入节点-85
2015-09-20 00:48
204 查看
给定一棵二叉查找树和一个新的树节点,将节点插入到树中。
你需要保证该树仍然是一棵二叉查找树。
样例
给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:
挑战
能否不使用递归?
你需要保证该树仍然是一棵二叉查找树。
样例
给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:
2 2 / \ / \ 1 4 --> 1 4 / / \ 3 3 6
挑战
能否不使用递归?
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */ class Solution { public: TreeNode* insertNode(TreeNode* root, TreeNode* node) { if(!node) return root; if(!root) return root=node; TreeNode *cur=root; while(cur){ if(node->val==cur->val) return root; else if(node->val<cur->val){ if(!cur->left){ cur->left=node; return root; } cur=cur->left; }else{ if(!cur->right){ cur->right=node; return root; } cur=cur->right; } } } };
相关文章推荐
- [Android交互]Android与Unity的交互
- IT职业的认识
- R_1
- 潘鹏整理WPF(1)颜色、字体、光标
- 使用json-lib 把javabean转换成json串
- C语言算法训练1
- HDU 5463 Clarke and minecraft
- 对于git的认识
- 单链表操作的实验课
- DSP投放进阶指南
- 算法导论 XOR双向循环链表——内存高效链表
- 继承与静态成员
- linux线程通信
- HDU 5455 Fang Fang
- 对git的认识
- 高精度乘法(压位)
- urllib源码简单分析
- [LeetCode][JavaScript]Move Zeroes
- jQuery中bind,live,delegate与one方法的用法及区别
- ubuntu系统boot目录瘦身