中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

leetCode 101. Symmetric Tree 對稱樹

發布時間:2020-07-29 19:43:05 來源:網絡 閱讀:525 作者:313119992 欄目:編程語言

101. Symmetric Tree

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

For example, this binary tree [1,2,2,3,4,4,3] is symmetric:

    1
   / \
  2   2
 / \ / \
3  4 4  3


But the following [1,2,2,null,3,null,3] is not:

    1
   / \
  2   2
   \   \
   3    3


代碼如下:

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
 //思路:
 //1.判斷root是否為空,若空則返回true,否則false;
 //2.判斷root->left,root->right是否同時為空,若為空則返回true;
 //3.判斷root->left,root->right同時不為空時,將root->right反轉,
 //然后判斷新root->right和root->left是否為相同的樹。
class Solution {
public:
    bool isSameTree(TreeNode* p, TreeNode* q) {
        bool childResult;
        if( NULL == p && NULL == q)
            return true;
        if( NULL != p && NULL != q && p->val == q->val)
        {
            return childResult = isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
        }
        return false;
         
    }
    
    void reverseTree(TreeNode* root)
    {
        if(!root)
            return;
        TreeNode *p,*q;
        p = root->left;
        q = root->right;
        root->left = q;
        root->right = p;
        reverseTree(root->left);
        reverseTree(root->right);
    }
    
    bool isSymmetric(TreeNode* root) {
        if( (NULL == root) || ( NULL == root->left  && NULL == root->right) )
            return true;
        if(NULL != root->left && NULL != root->right)
        {
            reverseTree(root->right);
            return isSameTree(root->left,root->right);
        }
        return false;
    }
};



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

密云县| 汶川县| 龙胜| 靖西县| 井研县| 济源市| 抚州市| 武夷山市| 特克斯县| 会理县| 文安县| 太和县| 九台市| 栾川县| 竹北市| 包头市| 兰考县| 阳东县| 台北市| 陵水| 巧家县| 资讯| 苏州市| 土默特右旗| 恩施市| 阜南县| 高尔夫| 博乐市| 自贡市| 象山县| 达尔| 恩平市| 固始县| 沽源县| 囊谦县| 韶关市| 探索| 武汉市| 元阳县| 高邮市| 江门市|