1. 程式人生 > >java 比較兩個二叉樹是否相等

java 比較兩個二叉樹是否相等

題目:

 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; }
 * }
 */
public class Solution { public boolean isSameTree(TreeNode p, TreeNode q) { if((p==null&&q!=null)||(p!=null&&q==null)){ return false; } if(p!=null&&q!=null){ if(!(p.val==q.val)){ return false; } } if
(p==null&&q==null){ }else{ if(!isSameTree(p.left,q.left)){ return false; } if(!isSameTree(p.right,q.right)){ return false; } } return true; } }