【LeetCode 235_二叉搜索树】Lowest Common Ancestor of a Binary Search Tree
2015-07-25 16:38
691 查看
解法一:递归
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (root == NULL || p == NULL || q == NULL) return NULL; if (root->val > p->val && root->val > q->val) return lowestCommonAncestor(root->left, p, q); else if (root->val < p->val && root->val < q->val) return lowestCommonAncestor(root->right, p, q); return root; }
解法二:迭代
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if (root == NULL || p == NULL || q == NULL) return NULL; while (true) { if (root->val < p->val && root->val < q->val) root = root->right; else if (root->val > p->val && root->val > q->val) root = root->left; else break; } return root; }
相关文章推荐
- [总结+题解]20141028
- POJ 1679 The Unique MST
- 基于javascript实现单选及多选的向右和向左移动实例
- 噩梦5Tilt Shift (Lens Blur) 倾斜移位(镜头模糊)
- chromium:LoadUrl之后会发生那些事情之OnDraw
- poj 3225 Help with Intervals(线段树区间更新)
- RTTI
- hdoj 2816 I Love You Too
- 以太网帧格式、IP数据报格式、TCP段格式+UDP段格式 详解
- A*算法—第K短路
- Android 四大组件学习之BroadcastReceiver一
- 应届毕业生外包公司体验
- rabbitmq技术的一些感悟(一)
- C++栈的顺序存储和链式存储的实现
- N个鸡蛋从M楼层摔(2个鸡蛋从100层摔)
- OC__内存管理初级
- 十个Android Material Design库
- ios学习整理(二)使用drawRect:方法自定义绘图和UIBezierPath类
- Java基础之异常、io流
- iOS开发-UITableView单选多选/复选实现1