首页 > 代码库 > 100. Same Tree
100. Same Tree
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.
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Pair{ TreeNode x; TreeNode y; public Pair(TreeNode x, TreeNode y){ this.x = x; this.y = y; } } public class Solution { //recursive // public boolean isSameTree(TreeNode p, TreeNode q) { // if(p == null && q == null) // return true; // if(p == null || q== null || p.val != q.val) // return false; // return isSameTree(p.left, q.left) && isSameTree(p.right, q.right); // } public boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null) return true; if(p == null || q== null || p.val != q.val) return false; Queue<Pair> queue = new LinkedList<Pair>(); queue.offer(new Pair(p, q)); while(!queue.isEmpty()){ Pair values = queue.poll(); if(values.x == null && values.y == null) continue; if(values.x != null && values.y != null){ queue.offer(new Pair(values.x.left, values.y.left)); queue.offer(new Pair(values.x.right, values.y.right)); } if(values.x == null || values.y == null || values.x.val != values.y.val) return false; } return true; } }
100. Same Tree
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。