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

平凉市网站建设_网站建设公司_网站备案_seo优化

网站建设运营公司推荐,西湖南昌网站建设公司,门户网站如何建设方案,wordpress启用收费下载无效二叉树层序遍历 题目链接#xff1a;102. 二叉树的层序遍历 思路#xff1a;利用队列来存储遍历的节点#xff0c;同时要定义size来保存当前层的节点个数。 时间复杂度O(n) 层序遍历的一般写法#xff0c;通过一个 while 循环控制从上向下一层层遍历#xff0c;for 循…二叉树层序遍历 题目链接102. 二叉树的层序遍历 思路利用队列来存储遍历的节点同时要定义size来保存当前层的节点个数。 时间复杂度O(n) 层序遍历的一般写法通过一个 while 循环控制从上向下一层层遍历for 循环控制每一层从左向右遍历。 class Solution {public ListListInteger levelOrder(TreeNode root) {ListListInteger res new LinkedList();if (root null) {return res;}QueueTreeNode q new LinkedList();q.offer(root);// while 循环控制从上向下一层层遍历while (!q.isEmpty()) {// 存储当前层的节点个数int sz q.size();// 记录这一层的节点值ListInteger level new LinkedList();// for 循环控制每一层从左向右遍历for (int i 0; i sz; i) {TreeNode cur q.poll();level.add(cur.val);if (cur.left ! null)q.offer(cur.left);if (cur.right ! null)q.offer(cur.right);}res.add(level);}return res;} }226.反转二叉树 题目链接226. 翻转二叉树 思路可以用层序遍历实现前序和后序的递归遍历也可以实现中序的递归遍历实现逻辑较为复杂不推荐。迭代遍历也可以实现。注意是交换节点的左右子树改变指针指向而不是交换左右孩子的值。 层序遍历实现 class Solution {public TreeNode invertTree(TreeNode root) {if (root null) return null;QueueTreeNode que new LinkedList();que.add(root);while (!que.isEmpty()) {TreeNode node que.poll();TreeNode temp node.left;node.left node.right;node.right temp;if (node.left ! null) {que.add(node.left);}if (node.right ! null) {que.add(node.right);}}return root;} }前序递归遍历实现。 class Solution {public TreeNode invertTree(TreeNode root) { // 递归前序实现if (root null) return null;TreeNode temp root.left;root.left root.right;root.right temp;invertTree(root.left);invertTree(root.right);return root;} }后序递归遍历实现。 class Solution {public TreeNode invertTree(TreeNode root) { // 递归后序实现if (root null) return null;invertTree(root.left);invertTree(root.right);TreeNode temp root.left;root.left root.right;root.right temp;return root;} }101.对称二叉树 题目链接101. 对称二叉树 思路该题其实是判断两棵树是否相同只能采用后序遍历。根节点的左子树的遍历顺序为左、右、中根节点的右子树的遍历顺序为右、左、中都可以理解为后序遍历。 class Solution {public boolean isSymmetric(TreeNode root) {if (root null) return true;// 检查两棵子树是否对称return check(root.left, root.right);}boolean check(TreeNode left, TreeNode right) {if (left null || right null) return left right;// 两个根节点需要相同if (left.val ! right.val) return false;// 左右子节点需要对称相同return check(left.right, right.left) check(left.left, right.right);} }另一种写法 class Solution {public boolean isSymmetric(TreeNode root) {return compare(root.left, root.right);}private boolean compare(TreeNode left, TreeNode right) {if (left null || right null) {if (left null right null) {return true;} else {return false;}}if (left.val ! right.val) return false;boolean outside compare(left.left, right.right);boolean inside compare(left.right, right.left);return outside inside;} }递归三部曲 1、确定递归函数的参数和返回值。 2、确定终止条件。 3、确定单层递归的逻辑。
http://www.lebaoying.cn/news/113074.html

相关文章:

  • 杭州杭州网站建设公司织梦做的网站如何修改
  • 长沙如何做网站怎样才能制做免费网站
  • 网站 宽屏窄屏自适应看网站的浏览器
  • 坪山网站建设哪家效益快网站类型分类有哪些
  • 可以查企业的网站网站界面设计形考
  • 网站幕布拍摄网站建设行业企业排名
  • 大型门户网站设计盐城做网站找哪家好
  • 商标查询网站建立网站的风险
  • 南京好的网站设计公司建筑公司经营范围大全
  • 网站做seo第一步教育营销型的网站建设
  • 安康网站制作wordpress页脚代码
  • 哪里做网站太原工程建设信息网站
  • 肃北蒙古族自治县建设局网站wordpress seo主题
  • 网站策划工作条件如何向百度提交站点收录信息
  • 免费企业网站模板html站群推广有哪些方式
  • 有关建设网站的论文网站地图那么建设
  • 响应式网站制设计建设银行手机银行官方网站下载
  • 开发网站哪家好python在线
  • 2010年4月江苏省03340网站建设与管理答案装修公司网站建设费用
  • 做网站需要icp网站建设 试卷
  • 谁做网站收录网站开发师招聘
  • 潍坊企业建站系统网站网站注册
  • 做智能网站平台免费学高中课程的软件
  • 为什么浏览器打不开一些网站什么是网页?
  • 东莞网站建设网络公司排名网站优化方案案例
  • 做网站首页cdr百度wordpress插件
  • 高校网站建设制度肇庆网页制作公司
  • 济南网站制作企业网站模块种类
  • 浙江省住房与城乡建设厅网站制作简历
  • 公司做免费网站徐州的网站设计