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

长沙优化网站哪家公司好百度推广网址

长沙优化网站哪家公司好,百度推广网址,唐河做网站,微商城网站建设价格文章目录 题目方法一:层序遍历 集合排序方法二:中序遍历(栈 或者 递归 )方法三(方法二改进):中序遍历(栈 ) 题目 该题最大的特点就是这个树是二叉树: 所以…

文章目录

    • 题目
    • 方法一:层序遍历 + 集合排序
    • 方法二:中序遍历(栈 或者 递归 )
    • 方法三(方法二改进):中序遍历(栈 )

题目

在这里插入图片描述

在这里插入图片描述

该题最大的特点就是这个树是二叉树:
在这里插入图片描述

所以,中序遍历对二叉树的遍历本身就是有序的

方法一:层序遍历 + 集合排序

思想很简单,就是通过层序遍历将节点都加到List集合中,然后调用 Collections.sort(list)排序后,找第k小的数list.get(k-1)

    public int kthSmallest(TreeNode root, int k) {List<Integer> list = levelOrder(root);Collections.sort(list);return list.get(k-1);}public List<Integer> levelOrder(TreeNode root) {List<Integer> result = new ArrayList<>();Queue<TreeNode> queue = new LinkedList<TreeNode>();if(root == null) return result;queue.offer(root);while(!queue.isEmpty()){int count = queue.size();for(int i =0 ;i< count ;i++){TreeNode node =   queue.poll();result.add(node.val); if(node.left != null)  queue.offer(node.left);if(node.right != null) queue.offer(node.right);}}return result;}

方法二:中序遍历(栈 或者 递归 )

二叉树中序遍历得到的值序列是递增有序的 借助一个list集合来接收有序的节点 然后再按照k去list集合区第k小的数

  List<Integer> list =new ArrayList<>();public int kthSmallest(TreeNode root, int k) {// dfs(root);    //递归中序stackTree(root); //  栈中序return list.get(k-1);}//递归中序//  public void dfs(TreeNode root) {//      if(root == null ) return ;//      dfs(root.left);//      list.add(root.val);//      dfs(root.right);//  }//  栈中序public void stackTree(TreeNode root) {Deque<TreeNode> stack = new ArrayDeque<TreeNode>();while(!stack.isEmpty() || root != null){while(root != null){stack.push(root);root = root.left;}root = stack.pop();list.add(root.val);root = root.right;}}

方法三(方法二改进):中序遍历(栈 )

二叉树中序遍历得到的值序列是递增有序的 那只要栈每次弹出一个元素时 就让k-1(直到k=0) 例如要第1小的数 那么其实就是中序遍历栈弹出的第一个元素(k= k-1 ===0,立马返回第一次pop的数)

    public int kthSmallest(TreeNode root, int k) {Deque<TreeNode> stack = new ArrayDeque<TreeNode>();while(!stack.isEmpty() || root != null){while(root != null){stack.push(root);root = root.left;}root = stack.pop();k--;//每弹出一个元素,就让k--if(k == 0) return root.val;//直到k减到0  说明该root.val就是第k小的数root = root.right;}return -1;}
http://www.yidumall.com/news/56619.html

相关文章:

  • 国外做网站推广银川网站seo
  • html简单网页成品主题班级优化大师免费下载app
  • 政府部门网站建设对比方案网络软文范例
  • 服务范围 网站建设公司宁波抖音seo搜索优化软件
  • 网站建设 证书品牌推广
  • 厦门同安网站制作企业合肥做网站公司哪家好
  • 营销型网站设计内容自己怎么搭建网站
  • 哪里网站做的好专业全网优化
  • 北海市住建局官方网站推广赚佣金的软件排名
  • 搜索小程序网站建设seo
  • 让别人做网站推广需要多少钱国内新闻摘抄
  • 一个网站2级域名多怎样做企业宣传推广
  • 网站建设现在什么服务器比较好成都seo推广员
  • 做网站的把网站写成一行实体店铺引流推广方法
  • asp网站建设实录源码网络营销的4p策略
  • 怎么用外网校内网站做英语链接提交入口
  • 好视通视频会议app下载安装seo结算系统
  • 网站建设费用 会计分录河南新闻头条最新消息
  • 企业网站模板下载滚动网站模板大一网页设计作业成品
  • 建设银行舒城支行网站优化大师怎么下载
  • 四川省网站建设百度推广一天烧几千
  • 网站界面设计尺寸设计师必备的6个网站
  • 北京服饰电商网站建设信息流推广
  • 网站设计客户需求西安百度推广竞价托管
  • 所得税 网站建设费网站推广在哪好
  • 有源码个人网站怎么建立掌门一对一辅导官网
  • 成都建立公司网站百度账号申请注册
  • 响应式网站开发成都seo正规优化
  • 制作一个企业网站过程外贸获客软件
  • 网站显示时间代码抖音的商业营销手段