博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 101. Symmetric Tree_ Easy tag: BFS
阅读量:4978 次
发布时间:2019-06-12

本文共 1135 字,大约阅读时间需要 3 分钟。

Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

1   / \  2   2 / \ / \3  4 4  3

 

But the following [1,2,2,null,3,null,3] is not:

1   / \  2   2   \   \   3    3

 

Note:

Bonus points if you could solve it both recursively and iteratively.

 

这个题目思路就是BFS啦, 只不过把left child 和right child比较了之后再recursively 比较children的children. 我们用一个helper function, 用于比较tree1, 和tree2, 然后recursive call这个function, 然后返回helper(root, root)即可.

 

1. Constraints

1) root can be None, return True

 

2. Ideas

 

BFS,     T: O(n)   S: O(n)  worst case when tree is linear

 

3. Code

1 class Solution:2     def Symmetric(self, root):3         def helper(tree1, tree2):4             if not tree1 and not tree2:5                 return True6             if tree1 and tree2 and tree1.val == tree2.val:7                 return helper(tree1.left, tree2.right) and helper(tree1.right, tree2.left)8             return False9         return helper(root, root)

 

4. Test cases

1) root is None

2) root is 1

3) 

1   / \  2   2 / \ / \3  4 4  3

转载于:https://www.cnblogs.com/Johnsonxiong/p/9271535.html

你可能感兴趣的文章
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
MongoDB的简单使用
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
java小技巧
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
SQL中Group By的使用
查看>>
两个表格中数据不用是一一对应关系--来筛选不同数据,或者相同数据
查看>>
js05-DOM对象二
查看>>
mariadb BINLOG_FORMAT = STATEMENT 异常
查看>>
Java回顾之多线程
查看>>
机电行业如何进行信息化建设
查看>>
2018 Multi-University Training Contest 10 - Count
查看>>
HDU6203 ping ping ping
查看>>
Fireworks基本使用
查看>>
Java基础常见英语词汇
查看>>
nginx启动、关闭命令、重启nginx报错open() "/var/run/nginx/nginx.pid" failed
查看>>
BZOJ 3097 Hash Killer I
查看>>
UINavigationController的视图层理关系
查看>>
html阴影效果怎么做,css 内阴影怎么做
查看>>