剑指 Offer 28. 对称的二叉树
2022/4/12 23:17:51
本文主要是介绍剑指 Offer 28. 对称的二叉树,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目链接:
剑指 Offer 28. 对称的二叉树
思路:本题采用递归的方式来进行解决,一个树要满足对称,则说明左结点的左节点和右节点的右节点,以及左节点的右节点和右节点的左节点要相等
所以按照这个思路去往下递归,并讨论好空节点的情况。递归的终点:找到不符合条件的情况或是两个结点相等且都为null,其余情况都继续向树的下层递归
代码实现及解析:
1 public boolean isSymmetric(TreeNode root) { 2 if (root == null) { 3 return true; 4 } 5 return recur(root.left,root.right); 6 } 7 8 public boolean recur(TreeNode node1,TreeNode node2) { 9 //处理掉空指针的情况 10 if (node1 == null && node2 == null) {//都为空则返回true(因为此时递归也正好要结束) 11 return true; 12 } 13 if ((node1 == null && node2 != null) || (node1 != null && node2 == null)) {//有为假的情况 14 //则直接返回false,结束递归 15 return false; 16 } 17 if (node1.val != node2.val) { 18 return false; 19 } 20 //一直往下递推,直到递归到双空指针以true结束,或是不满足对称的情况,以false结束 21 return recur(node1.left,node2.right) && recur(node1.right,node2.left); 22 }
这篇关于剑指 Offer 28. 对称的二叉树的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?