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

迁安做网站中的cms润强百万网址导航

迁安做网站中的cms润强,百万网址导航,企业精髓八个字,google永久免费服务器101. 对称二叉树 难度#xff1a;简单 题目 给你一个二叉树的根节点 root #xff0c; 检查它是否轴对称。 示例 1#xff1a; 输入#xff1a;root [1,2,2,3,4,4,3] 输出#xff1a;true示例 2#xff1a; 输入#xff1a;root [1,2,2,null,3,null,3] 输出#…101. 对称二叉树 难度简单 题目 给你一个二叉树的根节点 root 检查它是否轴对称。 示例 1 输入root [1,2,2,3,4,4,3] 输出true示例 2 输入root [1,2,2,null,3,null,3] 输出false提示 树中节点数目在范围 [1, 1000] 内-100 Node.val 100 **进阶**你可以运用递归和迭代两种方法解决这个问题吗 个人题解 方法一递归-深度优先遍历 写了 100 题后再写这题信手捏来。先判断当前节点是否为空。再判断当前节点的左节点和右节点是否相等。再看左左节点与右右节点再比较左右节点与右左节点。 /*** 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 boolean isSymmetric(TreeNode root) {if (root null) {return true;}return process(root.left, root.right);}public boolean process(TreeNode left, TreeNode right) {if (left null right null) {return true;}if (left null ^ right null) {return false;}if (left.val ! right.val) {return false;}if (!process(left.left, right.right)) {return false;}return process(left.right, right.left);} }官方题解 方法一递归 如果一个树的左子树与右子树镜像对称那么这个树是对称的。因此该问题可以转化为两个树在什么情况下互为镜像 如果同时满足下面的条件两个树互为镜像 它们的两个根结点具有相同的值每个树的右子树都与另一个树的左子树镜像对称 我们可以实现这样一个递归函数通过「同步移动」两个指针的方法来遍历这棵树p 指针和 q 指针一开始都指向这棵树的根随后 p 右移时q 左移p 左移时q 右移。每次检查当前 p 和 q 节点的值是否相等如果相等再判断左右子树是否对称。 class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode p, TreeNode q) {if (p null q null) {return true;}if (p null || q null) {return false;}return p.val q.val check(p.left, q.right) check(p.right, q.left);} }复杂度分析 时间复杂度O(n)空间复杂度O(n) 方法二迭代 「方法一」中我们用递归的方法实现了对称性的判断那么如何用迭代的方法实现呢首先我们引入一个队列这是把递归程序改写成迭代程序的常用方法。初始化时我们把根节点入队两次。每次提取两个结点并比较它们的值队列中每两个连续的结点应该是相等的而且它们的子树互为镜像然后将两个结点的左右子结点按相反的顺序插入队列中。当队列为空时或者我们检测到树不对称即从队列中取出两个不相等的连续结点时该算法结束。 class Solution {public boolean isSymmetric(TreeNode root) {return check(root, root);}public boolean check(TreeNode u, TreeNode v) {QueueTreeNode q new LinkedListTreeNode();q.offer(u);q.offer(v);while (!q.isEmpty()) {u q.poll();v q.poll();if (u null v null) {continue;}if ((u null || v null) || (u.val ! v.val)) {return false;}q.offer(u.left);q.offer(v.right);q.offer(u.right);q.offer(v.left);}return true;} }复杂度分析 时间复杂度O(n)空间复杂度O(n) 作者力扣官方题解 链接https://leetcode.cn/problems/symmetric-tree/solutions/268109/dui-cheng-er-cha-shu-by-leetcode-solution/ 来源力扣LeetCode 著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。
http://www.sadfv.cn/news/170773/

相关文章:

  • 如何建小企业网站wordpress 资讯类模板
  • 纪梵希网站设计分析电影网站做seo
  • 网站没收录要怎么做网站源码是用什么做的
  • 旅行社手机网站建设方案可以发广告的平台
  • 建网站程序网站访问pv量是指什么
  • 网站开发w亿玛酷1流量订制深圳网站建设saote
  • 怎么样自己建设一个网站文登 网站建设
  • 网站推广策略100例有限公司注册资金
  • 网站素材 按钮wordpress联系插件
  • 大连网站设计九必选仟亿科技企业网站源码带后台管理
  • 怎样在手机上网站建设wordpress. 外贸seo
  • 互联网网站制作哪里可以做拍卖网站
  • 论坛网站开发成本给网站做翻译
  • 厦门个人网站建设地方门户网站赚钱吗
  • 赣州做网站j公司网站建设优帮云
  • 最近播放中文版在线观看电视剧重庆小潘seo
  • 网站设计怎么好看宣传片策划拍摄制作公司
  • 郑州集团网站建设手表官方网
  • 如何通过网站获取qq番号网 wordpress
  • 东莞自助建站软件花店网站建设目的
  • 个人可以做几个网站吗境外电商哪个平台好
  • 网站建设费如何会计处理怀化百度关键词优化公司
  • o2o网站大全商务网站页面
  • 网站建设是什么软件正规免费网站建设公司
  • 为什么有些网站更新的信息看不到免费办公模板网站有哪些
  • 网站模板移植安卓系统是谁开发的
  • 网站做著作权wordpress前端登录插件
  • 西宁做网站君博先进定制系统
  • 建站之星好不怎么自己做网站
  • wordpress 建站教程设计公司需要什么资质