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

青岛通力建设集团网站给公司做网站 优帮云

青岛通力建设集团网站,给公司做网站 优帮云,做网站步骤,收录查询工具链接力扣102-层序遍历 链接力扣102-层序遍历 思路#xff1a; 1、需要一个队列#xff0c;当一个队列出队时#xff0c;将其的孩子结点全部入队#xff1b; 2、每一层的结点数如何找到#xff1a;比如#xff0c;第一层root进入队列后#xff0c;得到len queue.size(…链接力扣102-层序遍历 链接力扣102-层序遍历 思路 1、需要一个队列当一个队列出队时将其的孩子结点全部入队 2、每一层的结点数如何找到比如第一层root进入队列后得到len queue.size(就循环让其出队的同时入队其孩子等到这一层出队完了其孩子结点也入队完了再次得到len就可以确定每层的结点数。 代码 class Solution {public ListListInteger levelOrder(TreeNode root) {ListListInteger res new ArrayList();// 创建暂存集合不应在这里创建应该在循环内这样每次循环都会有一个新的tmp集合// ListInteger tmp new ArrayList();QueueTreeNode queue new LinkedList();if(root null) return res;queue.offer(root);while(!queue.isEmpty()){int len queue.size();// 每次循环都会有一个新的tmp集合ListInteger tmp new ArrayList();// while(len 0){for(int i 0; i len; i){TreeNode node queue.poll();tmp.add(node.val);if(node.left ! null) queue.offer(node.left);if(node.right ! null) queue.offer(node.right);// len--;}res.add(tmp);}return res;} }链接力扣226-翻转二叉树 思路 非递归 与层序遍历类似但是需要对每个出栈元素进行处理交换其左右孩子 class Solution {public TreeNode invertTree(TreeNode root) {QueueTreeNode queue new LinkedList();if(root null) return root;queue.offer(root);while(!queue.isEmpty()){int len queue.size();while(len 0){TreeNode node queue.poll();// 每一个出队的结点都要swap一下swap(node);if(node.left ! null) queue.offer(node.left);if(node.right ! null) queue.offer(node.right);len--;} }return root;}public void swap(TreeNode root){TreeNode node root.left;root.left root.right;root.right node;} }递归 class Solution{public TreeNode invertTree(TreeNode root) {if (root null) return root;// swapChildren(root);// 左孩子的左右孩子交换右孩子的左右孩子交换invertTree(root.left);invertTree(root.right);// 再交换root的左右孩子swapChildren(root);// 此时左右孩子的孩子已经交换了root的左右孩子也交换了可以返回了return root;}private void swapChildren(TreeNode root) {TreeNode tmp root.left;root.left root.right;root.right tmp;}}链接力扣101-对称二叉树 思路 1、要比较的是两个节点 2、两个节点只要某一个为空或者两个值不等则不对称 3、节点的入队顺序相比较的节点要挨着入队 左节点的左孩子 右节点的右孩子 左节点的右孩子 右节点的左孩子 非递归 class Solution {public boolean isSymmetric(TreeNode root) {QueueTreeNode queue new LinkedList();queue.offer(root.left);queue.offer(root.right);while(!queue.isEmpty()){TreeNode leftnode queue.poll();TreeNode rightnode queue.poll();// 这里的continue继续下两个结点的弹出再进行循环比较if(leftnode null rightnode null) continue;if(leftnode null || rightnode null || leftnode.val ! rightnode.val){return false;} // 进队顺序//左节点的左孩子右节点的右孩子// 左节点的右孩子右节点的左孩子queue.offer(leftnode.left);queue.offer(rightnode.right);queue.offer(leftnode.right);queue.offer(rightnode.left);}return true;} }递归 class Solution {public boolean isSymmetric(TreeNode root){// 1、参数和返回值不需要确认题目已给出// 2、递归终止条件return symmetric(root.left,root.right);}public boolean symmetric(TreeNode left,TreeNode right){// 终止条件在这里if(right null left null) return true;//这里一个细节必须先比较是否为空再比较值if((left null right ! null) ||(right null left ! null)||left.val ! right.val ) return false;// 两节点的孩子节点比较在这里return symmetric(left.left,right.right) symmetric(left.right,right.left);} }
http://www.fuzeviewer.com/news/26946/

相关文章:

  • 汕头网站建设系统做网站需要买服务器
  • 网站引导页怎么做装修设计网站排行榜前十名
  • 昆山高端网站建设咨询山阴县2017建设局网站
  • 网站出现的问题怎样做天猫网站视频
  • 微信小程序设计制作湛江seo推广外包
  • 网站建设兼职在哪找扬州市开发区建设局网站首页
  • 搭建网站需要学什么软件下载开发平台为用户提供了哪四类应用开发
  • 查企业信息的黄页有哪些桂林seo
  • 网站制作手机版网站域名权
  • 招聘网站设计方案wordpress rt19
  • 盐城网站建设效果网站内容栏目
  • 免费网站推广工具wordpress无法点上传
  • 盐城网站建设价格网站手机访问跳转代码
  • 广州网站建设服务商三水网站建设
  • 个人网站模块it外包工作怎么样
  • 网站数据分析tom企业邮箱官网
  • 社交网站有哪些如何做网站app建设需要资源
  • 精湛的企业网站建设高平市规建设局网站
  • 常德建设局网站常见的网站建设技术
  • 购物网站用模板好不好wordpress怎么做多级分类
  • 深圳布吉做网站宣传文案模板
  • 中文企业网站模板下载wordpress仿小刀娱乐网
  • 深入解析:51单片机基础-动态数码管显示
  • 网站建设试卷网站建设平台对比
  • 聊城建设网站怎么查看网站是asp还是php
  • 深圳百度seo整站代写平台
  • 5网站建设公司上海建设协会网站
  • 热卖平台网站怎么做重庆关键词优化软件
  • 响应式网站几个断点廊坊网站建设哪家好
  • 杭州的做网站公司建设网站教学