leetcode 100. Same Tree
来源:互联网 发布:淘宝超时发货赔付规则 编辑:程序博客网 时间:2024/06/03 11:16
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
这是一道水题。package leetcode;public class Same_Tree_100 {boolean isEqual=true;public boolean isSameTree(TreeNode p, TreeNode q) {DFS(p, q);return isEqual;}public void DFS(TreeNode p,TreeNode q){if(p==null&&q==null){return;}if((p==null&&q!=null)||p!=null&&q==null){isEqual=false;return;}if(p.val!=q.val){isEqual=false;return;}DFS(p.left,q.left);DFS(p.right,q.right);}public static void main(String[] args) {// TODO Auto-generated method stubSame_Tree_100 s=new Same_Tree_100();TreeNode p=null;TreeNode q=null;System.out.println(s.isSameTree(p, q));}}有大神跟我思路一样,但是写法更简洁。哎,我的解法就是特别长的那种。。。
public boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null) return true; if(p == null || q == null) return false; if(p.val == q.val) return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); return false;}也有不用递归,用栈的写法。
public boolean isSameTree(TreeNode p, TreeNode q) { Stack<TreeNode> stack_p = new Stack <> (); Stack<TreeNode> stack_q = new Stack <> (); if (p != null) stack_p.push( p ) ; if (q != null) stack_q.push( q ) ; while (!stack_p.isEmpty() && !stack_q.isEmpty()) { TreeNode pn = stack_p.pop() ; TreeNode qn = stack_q.pop() ; if (pn.val != qn.val) return false ; if (pn.right != null) stack_p.push(pn.right) ; if (qn.right != null) stack_q.push(qn.right) ; if (stack_p.size() != stack_q.size()) return false ; if (pn.left != null) stack_p.push(pn.left) ; if (qn.left != null) stack_q.push(qn.left) ; if (stack_p.size() != stack_q.size()) return false ; } return stack_p.size() == stack_q.size() ; }
阅读全文
0 0
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- leetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 100. Same Tree LeetCode
- LeetCode 100. Same Tree
- LeetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 【LeetCode】100. Same Tree
- leetcode 100. Same Tree
- leetcode 100. Same Tree
- 【Leetcode】100. Same Tree
- 集成百度地图定位时初学者遇到的一些小坑
- 通过全志R16平台TINAV2.1下的LCD显示BMP图片(分色排版)V1.0版本
- java的String类型的==和.equals()
- JAVA中的关键字及作用
- liferay7项目搭建
- leetcode 100. Same Tree
- TestNG参数化测试之Excel读取数据
- 软件工程课程设计问题总结——医院门诊系统(一):serverlet中alert不弹窗&弹窗乱码
- vscode插件离线安装方法
- MFC控制:实现打开PPT详细步骤
- 杂念
- Lombok工具
- PAT甲级 1009. Product of Polynomials (25)
- JS-Array对象