程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Symmetric Tree

Symmetric Tree

編輯:C++入門知識

題目:


Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).

For example, this binary tree is symmetric:

    1
   / \
  2   2
 / \ / \
3  4 4  3
But the following is not:


    1
   / \
  2   2
   \   \
   3    3
Note:
Bonus points if you could solve it both recursively and iteratively.

代碼如下:

bool isSymmetricTree(TreeNode *p, TreeNode *q) {
        if(p==NULL&&q==NULL)return true;
        if(p==NULL||q==NULL)return false;
        if(p->val!=q->val)
        {
            return false;
        }
        else
        {
            return isSymmetricTree(p->left, q->right)&&isSymmetricTree(p->right, q->left);
        }
    }
    bool isSymmetric(TreeNode *root) {
        if(root==NULL)return true;
        return isSymmetricTree(root->left,root->right);   
    }


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved