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

LeetCode 刷题【107. 二叉树的层序遍历 II、108. 将有序数组转换为二叉搜索树】

107. 二叉树的层序遍历 II

自己做

解:先序遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {private List<List<Integer>> res = new ArrayList();public void preTravel(TreeNode root, int level){if(root == null)return;if(res.size() == level){                    //遍历到新的层次,要加入新列表List<Integer> new_list = new ArrayList();new_list.add(root.val);res.add(0, new_list);}else{                                      //已经存在该层次,取旧列表List<Integer> old_list = res.get(res.size() - level - 1);old_list.add(root.val);}preTravel(root.left, level + 1);preTravel(root.right, level + 1);}public List<List<Integer>> levelOrderBottom(TreeNode root) {preTravel(root, 0);return res;}
}

108. 将有序数组转换为二叉搜索树

自己做

解:二分查找遍历

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode buildBST(int[] nums, int begin, int end){if(begin > end)return null;int mid = (begin + end) / 2;TreeNode root = new TreeNode(nums[mid]);                //中TreeNode left = buildBST(nums, begin, mid - 1);         //左子树TreeNode right = buildBST(nums, mid + 1, end);          //右子树root.left = left;root.right = right;return root;}public TreeNode sortedArrayToBST(int[] nums) {return  buildBST(nums, 0, nums.length - 1);}
}

http://www.dtcms.com/a/457260.html

相关文章:

  • 宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
  • 9. linux shell命令(6)Linux网络配置管理
  • 专做品质游的网站河东苏州网站建设
  • Spring的三级缓存原理 笔记251008
  • Coze源码分析-资源库-编辑数据库-后端源码-应用/领域/数据访问/基础设施层
  • 北京建设网站的公司兴田德润简介济南网站建设平台官网
  • 力扣 —— 动态规划(背包问题)
  • 基础微网站开发代理商wordpress图文模板
  • bind,apply,call
  • 最新ECCV最新大感受野的小波卷积
  • 小迪web自用笔记59
  • Docker 容器核心知识总结
  • GIS+VR地理信息虚拟现实XR MR AR
  • K8s学习笔记(十四) DaemonSet
  • 视频网站建设应该注意什么北京建设网点地址查询
  • 面试技术栈 —— 简历篇
  • Python闭包内变量访问详解:从原理到高级实践
  • DNS隧道技术:隐秘通信的“毛细血管”通道
  • MySQL 性能监控与安全管理完全指南
  • 【Linux】进程控制(上)
  • 湖北省建设网站wordpress商务套餐
  • 网站建设推广的软文邢台建站企业邮箱
  • C++11并发支持库
  • 广东省省考备考(第一百一十八天10.8)——言语、资料分析、数量关系(强化训练)
  • 临沂网站制作页面如何查一个网站有没有做外链
  • 基于websocket的多用户网页五子棋(八)
  • Elastic 被评为 IDC MarketScape《2025 年全球扩展检测与响应软件供应商评估》中的领导者
  • 如何利用Python呼叫nexxim.exe执行电路模拟
  • APM学习(3):ArduPilot飞行模式
  • h5制作开发价目表常用seo站长工具