5.1.9 Symmetric Tree
来源:互联网 发布:网络管理软件应用总结 编辑:程序博客网 时间:2024/05/21 17:51
原题链接:https://oj.leetcode.com/problems/symmetric-tree/
这题实际上可以看作上一题 Same Tree的变形,即判断一棵树的左右子树是否是Same Tree.
方法I: 递归:简单,一次过。
public class Solution { public boolean isSymmetric(TreeNode root) { if(root == null) return true; TreeNode p = root.left; TreeNode q = root.right; return isSame(p, q); } private boolean isSame(TreeNode p, TreeNode q){ if(p == null && q == null) return true; if(p == null || q == null) return false; return (p.val == q.val) && isSame(p.left, q.right) && isSame(p.right, q.left); }}
方法II: 迭代。
public class Solution { public boolean isSymmetric(TreeNode root) { if(root == null) return true; Stack<TreeNode> s = new Stack<TreeNode>(); TreeNode p = root.left; TreeNode q = root.right; s.push(p); s.push(q); while(!s.isEmpty()){ p = s.pop(); q = s.pop(); if(p == null && q == null) continue; if(p == null || q == null) return false; if(p.val != q.val) return false; s.add(p.left); s.add(q.right); s.add(p.right); s.add(q.left); } return true; } }
0 0
- 5.1.9 Symmetric Tree
- 5.1.7 Symmetric Tree
- 5.1.9—二叉树的遍历—Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- Symmetric Tree
- js方法判断浏览器终端是哪种操作系统
- Visual C++ 2012 编译加密SQLite 3.8.5的数据库
- 数组的指针和指向数组的指针变量
- HDU 4770 Lights Against Dudely -- 2013 杭州赛区现场赛-A(状态压缩)
- 一个杀手移动用户界面的七个步骤
- 5.1.9 Symmetric Tree
- c++面试总结
- hdu1548A strange lift
- SQL Server数据库中bit字段类型使用时的注意事项
- 工业超纯水机:EDI超纯水设备详细介绍
- Android数据库更新并保留原来数据的实现
- Swift编程语言学习5—— 函数
- 互联网/电子商务数据分析师的十大误区
- webService原理和用例