当前位置: 首页 > wzjs >正文

惠州网站建设方案托管重庆网站优化

惠州网站建设方案托管,重庆网站优化,wordpress展开 折叠功能,wordpress 插件权限力扣 Hot 100 刷题记录 - 二叉搜索树中第 K 小的元素 题目描述 二叉搜索树中第 K 小的元素 是力扣 Hot 100 中的一道经典题目,题目要求如下: 给定一个二叉搜索树(BST)的根节点 root 和一个整数 k,请你设计一个算法找…

力扣 Hot 100 刷题记录 - 二叉搜索树中第 K 小的元素

题目描述

二叉搜索树中第 K 小的元素 是力扣 Hot 100 中的一道经典题目,题目要求如下:

给定一个二叉搜索树(BST)的根节点 root 和一个整数 k,请你设计一个算法找到其中第 k 小的元素。

示例 1:
输入:root = [3,1,4,null,2], k = 1
输出:1

示例 2:
输入:root = [5,3,6,2,4,null,null,1], k = 3
输出:3


解题思路

二叉搜索树(BST)的性质是 中序遍历结果为升序序列。因此,可以通过中序遍历找到第 k 小的元素。

方法一:递归中序遍历

  • 对 BST 进行中序遍历,记录遍历结果。
  • 返回第 k 个元素。

方法二:迭代中序遍历

  • 使用栈模拟中序遍历,避免递归调用栈的开销。
  • 在遍历过程中直接找到第 k 小的元素。

C++ 代码实现

方法一:递归中序遍历

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:int kthSmallest(TreeNode* root, int k) {vector<int> inorder_result;inorder(root, inorder_result); // 中序遍历return inorder_result[k - 1]; // 返回第 k 小的元素}private:void inorder(TreeNode* root, vector<int>& result) {if (!root) return; // 递归终止条件inorder(root->left, result);  // 遍历左子树result.push_back(root->val); // 访问根节点inorder(root->right, result); // 遍历右子树}
};

方法一:递归中序遍历

#include <stack>class Solution {
public:int kthSmallest(TreeNode* root, int k) {stack<TreeNode*> stk;TreeNode* curr = root;while (curr || !stk.empty()) {// 遍历左子树while (curr) {stk.push(curr);curr = curr->left;}// 访问根节点curr = stk.top();stk.pop();if (--k == 0) return curr->val; // 找到第 k 小的元素// 遍历右子树curr = curr->right;}return -1; // 未找到(正常情况下不会执行到这里)}
};
http://www.dtcms.com/wzjs/228556.html

相关文章:

  • 濮阳住房建设厅网站如何自己建立一个网站
  • 上海网站备案企业培训视频
  • 加强网站建设和信息公开做网站哪个公司最好
  • 网站建设商城网站网络营销相关工作岗位
  • 网站搭建协议云浮网站设计
  • 网站模板怎么做的网络营销课程总结与心得体会
  • 2018什么做网站产品软文案例
  • 免费代码大全网站国际足联世界排名
  • 北京网约车池州网站seo
  • 做网站视频用哪个视频编辑软件网络平台建站
  • 十款免费软件app下载广东seo网站推广
  • 望京SOHO网站建设广州百度推广客服电话多少
  • Wix做的网站在国内打不开短视频优化
  • 手机产品 网站建设上海优化关键词的公司
  • 西宁网络公司网站建设关键词搜索引擎工具
  • 旅游电子商务网站建设域名解析在线查询
  • 网站建设需要提供什么百度秒收录
  • 武汉 光谷 网站建设公司成都百度关键词排名
  • wordpress for sae4.5百度seo技术优化
  • 教育网站建设解决方案株洲seo推广
  • 做二手手机交易网站佛山seo优化
  • ui设计师网站七牛云
  • 帝国网站管理系统入门教程站长素材音效
  • 网站目标定位概念网站创建流程
  • 搜狗推广做网站要钱吗成年培训班有哪些
  • 嵌入式开发学什么seo软件定制
  • 平面设计软件哪个好用广州网站seo地址
  • 抚州专业的企业网站建设公司免费友情链接交换平台
  • 新手可以自己学做网站设计吗产品营销策略有哪些
  • 北京两学一做网站搜索引擎有哪些种类