码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树的搜索

时间:2019-09-22 12:30:07      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:else   val   中序   pre   search   col   color   二叉树   span   

1.正常递归

 1     TreeNode* searchBST(TreeNode* root, int val) {
 2      if (!root)
 3          return nullptr;
 4      if (val > root->val)
 5      {
 6          root = searchBST(root->right, val);
 7      }
 8      else if (val < root->val)
 9      {
10          root = searchBST(root->left, val);
11      }
12          return root;
13      }

2.中序递归

 1  TreeNode* searchBST(TreeNode* root, int val) {
 2      if (!root)
 3          return nullptr;
 4      TreeNode* res = searchBST(root->left, val);
 5      if (res)
 6          return res;
 7      else if (root->val > val)
 8          return nullptr;
 9      else if (root->val == val)
10          return root;
11      TreeNode* res = searchBST(root->right, val);
12      return res;
13  }

3.迭代

 1 TreeNode* searchBST(TreeNode* root, int val) {
 2     while (root)
 3     {
 4         if (root->val > val)
 5             root = root->left;
 6         else if (root->val < val)
 7             root = root->right;
 8         else
 9             return root;
10     }
11     return root;
12 }

 

二叉树的搜索

标签:else   val   中序   pre   search   col   color   二叉树   span   

原文地址:https://www.cnblogs.com/zouma/p/11566861.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!