【LeetCode题目记录-5】二叉树是否相同

来源:互联网 发布:手写画板软件 编辑:程序博客网 时间:2024/05/29 18:05

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.

【分析1-原创】递归判断

/** * Definition for binary tree * 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){            return true;        }        if((p==null&&q!=null)||(p!=null&&q==null)){            return false;        }        return p.val==q.val?isSameTree(p.left, q.left)&&isSameTree(p.right, q.right):false;    }}


【分析2-非原创】参考:https://oj.leetcode.com/discuss/3470/seeking-for-better-solution

  这里将前面的两条判断归为一条语句。

    

public boolean isSameTree(TreeNode p, TreeNode q) {        if(p==null || q==null) {            return p==q;        } else            return (p.val == q.val)&&isSameTree(p.left,q.left)&&isSameTree(p.right,q.right);    }

0 0
原创粉丝点击