二叉树:二叉搜索树登场( 二 )


二叉树:二叉搜索树登场文章插图
二叉搜索树
所以迭代法代码如下:
class Solution {public:TreeNode* searchBST(TreeNode* root, int val) {while (root != NULL) {if (root->val > val) root = root->left;else if (root->val < val) root = root->right;else return root;}return NULL;}};第一次看到了如此简单的迭代法 , 是不是感动的痛哭流涕 , 哭一会~
总结本篇我们介绍了二叉搜索树的遍历方式 , 因为二叉搜索树的有序性 , 遍历的时候要比普通二叉树简单很多 。
但是一些同学很容易忽略二叉搜索树的特性 , 所以写出遍历的代码就未必真的简单了 。
所以针对二叉搜索树的题目 , 一样要利用其特性 。
文中我依然给出递归和迭代两种方式 , 可以看出写法都非常简单 , 就是利用了二叉搜索树有序的特点 。
就酱 , 学到了的话 , 就转发给身边需要的同学吧!
-------end-------
我将算法学习相关的资料已经整理到了
Github : , 里面还有leetcode刷题攻略、各个类型经典题目刷题顺序、思维导图 , 可以fork到自己仓库有空看一看一定会有所收获 , 顺便给一个star支持一下吧!
我是程序员Carl , 哈工大师兄 , 先后在腾讯和百度打杂 , 这里每天8:35准时推送一道经典算法题目 , 我选择的每道题目都不是孤立的 , 而是由浅入深 , 环环相扣 , 帮你梳理算法知识脉络 , 轻松学算法!
@代码随想录 期待你的关注


推荐阅读