首页 > 其他 > 详细

LeetCode -- Same Tree

时间:2015-10-31 11:36:56      阅读:126      评论:0      收藏:0      [点我收藏+]
题目描述:
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.


比较两个二叉树是否完全相同。


思路:
直接对两个树从根节点同时DFS,使用全局成员来记录是否相等即可。




实现代码:






/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left;
 *     public TreeNode right;
 *     public TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public bool IsSameTree(TreeNode p, TreeNode q) 
    {
        CompareTree(p, q);
    	return _same;
    }
private bool _same = true;
private void CompareTree(TreeNode p , TreeNode q)
{
	if(!_same){
		return;
	}
	
	if(p == null && q == null){
		return ;
	}
	if(p == null && q != null || q == null && p != null || p.val != q.val){
		_same = false;
		return;
	}
	CompareTree(p.left, q.left);
	CompareTree(p.right, q.right);
}


}


版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode -- Same Tree

原文:http://blog.csdn.net/lan_liang/article/details/49531135

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!