zoukankan      html  css  js  c++  java
  • 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 /**
     2  * Definition for binary tree
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     bool isSameTree(TreeNode *p, TreeNode *q) {
    13         if(p == NULL && q == NULL)
    14             return true;
    15         else if(p == NULL || q == NULL)
    16             return false;
    17         
    18         if(p->val != q->val)
    19             return false;
    20         
    21         bool left = isSameTree(p->left,q->left);
    22         bool right = isSameTree(p->right,q->right);
    23         
    24         return left && right;
    25     }
    26 };
  • 相关阅读:
    CSS3--box-shadow
    C#快捷键
    c#基础3
    C#基础2
    C#基础
    javascript 字符串总结
    javasrcipt中的for in 循环
    javascript复习总结
    结构体数组排序
    ArrayList集合排序
  • 原文地址:https://www.cnblogs.com/fanchangfa/p/4041635.html
Copyright © 2011-2022 走看看