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

信息公开和网站建设工作总结/艾滋病多久能检查出来

信息公开和网站建设工作总结,艾滋病多久能检查出来,中教在线3d建模培训,wordpress 广告主题题目: 给定一个二叉树的根节点root,检查它是否轴对称。 方法一:递归 如果一个树的左子树与右子树镜像对称,那么这个树是对称的。 互为镜像的条件:他们的两个根结点具有相同的值,每棵树的右子树都与另一个树的左子树…

题目:

给定一个二叉树的根节点root,检查它是否轴对称。


方法一:递归

如果一个树的左子树与右子树镜像对称,那么这个树是对称的。

互为镜像的条件:他们的两个根结点具有相同的值,每棵树的右子树都与另一个树的左子树镜像对称

可以实现这样一个递归函数,通过「同步移动」两个指针的方法来遍历这棵树,p指针和q指针一开始都指向这棵树的根,随后p右移时,q左移,p左移时,q右移。每次检查当前p和q节点的值是否相等,如果相等再判断左右子树是否对称。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def isSymmetric(self, root):""":type root: Optional[TreeNode]:rtype: bool"""return self.check(root.left,root.right)def check(self,p,q):if p is None and q is None:return True if p is None or q is None:return Falsereturn p.val==q.val and self.check(p.left,q.right) and self.check(p.right,q.left)

时间复杂度:O(n)

空间复杂度:O(n)


方法二:迭代

初始化时我们把根节点入队两次。每次提取两个结点并比较它们的值(队列中每两个连续的结点应该是相等的,而且它们的子树互为镜像),然后将两个结点的左右子结点按相反的顺序插入队列中。当队列为空时,或者检测到树不对称(即从队列中取出两个不相等的连续结点)时,该算法结束。

# Definition for a binary tree node.
# class TreeNode(object):
#     def __init__(self, val=0, left=None, right=None):
#         self.val = val
#         self.left = left
#         self.right = right
class Solution(object):def isSymmetric(self, root):""":type root: Optional[TreeNode]:rtype: bool"""return self.check(root,root) #同一个根节点是因为要比较树的左右子树def check(self,u,v):q=[]  #将节点 u 和 v(即左右子树的根节点)添加到队列中,接下来我们将对这些节点进行比较q.append(u)q.append(v)while q:u=q.pop(0)v=q.pop(0)#每次从队列中取出两个节点比较,看它们是否对称if u is None and v is None:#如果都是 None,说明这两个子树都为空,可以跳过这次比较continueif u is None or v is None or u.val !=v.val:return Falseq.append(u.left) #节点 u 和 v 的子节点按照对称的方式加入队列q.append(v.right)q.append(u.right)q.append(v.left)return True

时间复杂度:O(n)

空间复杂度:O(n)

http://www.whsansanxincailiao.cn/news/31982862.html

相关文章:

  • 抚顺市住房和城乡建设委员会网站/seo排名点击器原理
  • 石家庄做网站制作公司/引擎搜索网站
  • 株洲网站开发/免费软文发布平台有哪些
  • 建站用什么工具/海外推广是做什么的
  • 个性网站功能/seo辅助优化工具
  • 锦溪网站建设/html网页设计模板
  • 免费jsp源码分享网站/怎么做自己的网页
  • 天津网站建设公司/百度推广工资多少钱一个月
  • 做企业公司网站/兰州网站seo优化
  • 网站建设服务商是什么/seo点石论坛
  • 软件工程 旅游网站开发er图/谷歌seo详细教学
  • 制作企业网站多少钱/google搜索下载
  • 要建一个网站该怎么做/如何查一个关键词的搜索量
  • 佛山微网站建设多少钱/软文价格
  • 网站qq线客服咋做/国内搜索引擎排行榜
  • 商标注册号/宁德seo推广
  • 红和蓝的企业网站设计/赣州seo顾问
  • 周口网站制作/外贸接单平台
  • 哪有做网站 的/好的推广方式
  • 清风室内设计培训学校官网/如何做谷歌seo推广
  • 青岛市建设局网站停工/搜索指数查询平台
  • 南通 网站优化/外贸网站
  • 自助网站建设技术支持/学生没钱怎么开网店
  • 做的网站在百度上搜不出来/发广告推广平台
  • wordpress 如何生成 htlm/仁茂网络seo
  • wordpress信息收集表单制作/企业网站seo哪里好
  • 衡水网页网站建设/域名注册服务机构
  • bootstrap 网站开发/seo网站关键词优化方法
  • wordpress没有侧边栏/小红书怎么做关键词排名优化
  • 网络网站销售/北大青鸟软件开发培训学费多少