国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

(樹(shù)) 劍指 Offer 27. 二叉樹(shù)的鏡像 ——【Leetcode每日一題】

這篇具有很好參考價(jià)值的文章主要介紹了(樹(shù)) 劍指 Offer 27. 二叉樹(shù)的鏡像 ——【Leetcode每日一題】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

?劍指 Offer 27. 二叉樹(shù)的鏡像

難度:簡(jiǎn)單

請(qǐng)完成一個(gè)函數(shù),輸入一個(gè)二叉樹(shù),該函數(shù)輸出它的鏡像。

例如輸入:

     4

   /   \

  2     7

 / \   / \

1   3 6   9

鏡像輸出:

     4

   /   \

  7     2

 / \   / \

9   6 3   1
示例 1:

輸入:root = [4,2,7,1,3,6,9]
輸出:[4,7,2,9,6,3,1]

限制

  • 0 <= 節(jié)點(diǎn)個(gè)數(shù) <= 1000

注意:本題與 226. 翻轉(zhuǎn)二叉樹(shù) 相同。

??思路:遞歸

我們從根節(jié)點(diǎn)開(kāi)始,遞歸地對(duì)樹(shù)進(jìn)行遍歷:

  • 如果當(dāng)前遍歷到的節(jié)點(diǎn) rootnull ,則直接返回 null;
  • 如果當(dāng)前遍歷到的節(jié)點(diǎn) root 不為 null,那么我們只需要 交換兩棵子樹(shù)的位置,且分別遞歸調(diào)用 mirrorTree 函數(shù),返回根節(jié)點(diǎn) root。

??代碼:(C++、Java)

C++

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* mirrorTree(TreeNode* root) {
        if(root == nullptr) return nullptr;
        TreeNode* temp = mirrorTree(root->left);
        root->left = mirrorTree(root->right);
        root->right = temp;
        return root;
    }
};

Java

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        if(root == null) return null;
        TreeNode temp = mirrorTree(root.left);
        root.left = mirrorTree(root.right);
        root.right = temp;
        return root;
    }
}
?? 運(yùn)行結(jié)果:

(樹(shù)) 劍指 Offer 27. 二叉樹(shù)的鏡像 ——【Leetcode每日一題】,LeetCode,leetcode,算法,職場(chǎng)和發(fā)展

?? 復(fù)雜度分析:
  • 時(shí)間復(fù)雜度 O ( n ) O(n) O(n),其中 n 二叉樹(shù)節(jié)點(diǎn)的數(shù)目。我們會(huì)遍歷二叉樹(shù)中的每一個(gè)節(jié)點(diǎn),對(duì)每個(gè)節(jié)點(diǎn)而言,我們?cè)诔?shù)時(shí)間內(nèi)交換其兩棵子樹(shù)。。
  • 空間復(fù)雜度 O ( n ) O(n) O(n),使用的空間由遞歸棧的深度決定,它等于當(dāng)前節(jié)點(diǎn)在二叉樹(shù)中的高度。在平均情況下,二叉樹(shù)的高度與節(jié)點(diǎn)個(gè)數(shù)為對(duì)數(shù)關(guān)系,即 O ( l o g ? n ) O(log? n) O(log?n)。而在最壞情況下,樹(shù)形成鏈狀,空間復(fù)雜度為 O ( n ) O(n) O(n)。

題目來(lái)源:力扣。

放棄一件事很容易,每天能堅(jiān)持一件事一定很酷,一起每日一題吧!
關(guān)注我LeetCode主頁(yè) / CSDN—力扣專欄,每日更新!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-638446.html

注: 如有不足,歡迎指正!

到了這里,關(guān)于(樹(shù)) 劍指 Offer 27. 二叉樹(shù)的鏡像 ——【Leetcode每日一題】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • (樹(shù)) 劍指 Offer 32 - I. 從上到下打印二叉樹(shù) ——【Leetcode每日一題】

    (樹(shù)) 劍指 Offer 32 - I. 從上到下打印二叉樹(shù) ——【Leetcode每日一題】

    難度:中等 從上到下打印出二叉樹(shù)的每個(gè)節(jié)點(diǎn),同一層的節(jié)點(diǎn)按照從左到右的順序打印。 例如: 給定二叉樹(shù): [3,9,20,null,null,15,7], 返回: 提示 : 節(jié)點(diǎn)總數(shù) = 100 ??思路:BFS 使用 優(yōu)先隊(duì)列 進(jìn)行 層序遍歷 即可! ??代碼:(C++、Java) C++ Java ?? 運(yùn)行結(jié)果: ?? 復(fù)雜度分析: 時(shí)間

    2024年02月14日
    瀏覽(22)
  • Leetcode-每日一題【劍指 Offer 34. 二叉樹(shù)中和為某一值的路徑】

    Leetcode-每日一題【劍指 Offer 34. 二叉樹(shù)中和為某一值的路徑】

    給你二叉樹(shù)的根節(jié)點(diǎn)? root ?和一個(gè)整數(shù)目標(biāo)和? targetSum ?,找出所有? 從根節(jié)點(diǎn)到葉子節(jié)點(diǎn) ?路徑總和等于給定目標(biāo)和的路徑。 葉子節(jié)點(diǎn) ?是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。 示例 1: 輸入: root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 輸出: [[5,4,11,2],[5,8,4,5]] 示例 2: 輸入: ro

    2024年02月11日
    瀏覽(38)
  • (樹(shù)) 劍指 Offer 34. 二叉樹(shù)中和為某一值的路徑 ——【Leetcode每日一題】

    (樹(shù)) 劍指 Offer 34. 二叉樹(shù)中和為某一值的路徑 ——【Leetcode每日一題】

    難度:中等 給你二叉樹(shù)的根節(jié)點(diǎn) root 和一個(gè)整數(shù)目標(biāo)和 targetSum ,找出所有 從根節(jié)點(diǎn)到葉子節(jié)點(diǎn) 路徑總和等于給定目標(biāo)和的路徑。 葉子節(jié)點(diǎn) 是指沒(méi)有子節(jié)點(diǎn)的節(jié)點(diǎn)。 示例 1: 輸入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22 輸出:[[5,4,11,2],[5,8,4,5]] 示例 2: 輸入:roo

    2024年02月13日
    瀏覽(23)
  • Leetcode-每日一題【劍指 Offer 32 - III. 從上到下打印二叉樹(shù) III】

    Leetcode-每日一題【劍指 Offer 32 - III. 從上到下打印二叉樹(shù) III】

    請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù)按照之字形順序打印二叉樹(shù),即第一行按照從左到右的順序打印,第二層按照從右到左的順序打印,第三行再按照從左到右的順序打印,其他行以此類推。 例如: 給定二叉樹(shù):? [3,9,20,null,null,15,7] , ??? 3 ?? / ? 9? 20 ??? /? ?? 15?? 7 返回其層次遍歷結(jié)果:

    2024年02月12日
    瀏覽(24)
  • Leetcode-每日一題【劍指 Offer 32 - II. 從上到下打印二叉樹(shù) II】

    Leetcode-每日一題【劍指 Offer 32 - II. 從上到下打印二叉樹(shù) II】

    從上到下按層打印二叉樹(shù),同一層的節(jié)點(diǎn)按從左到右的順序打印,每一層打印到一行。 例如: 給定二叉樹(shù):? [3,9,20,null,null,15,7] , ??? 3 ?? / ? 9? 20 ??? /? ?? 15?? 7 返回其層次遍歷結(jié)果: [ ? [3], ? [9,20], ? [15,7] ] 提示: 節(jié)點(diǎn)總數(shù) = 1000 1.題目要求我們從上到下按層打印二

    2024年02月12日
    瀏覽(15)
  • 劍指offer:關(guān)于二叉樹(shù)的匯總(c++)

    劍指offer:關(guān)于二叉樹(shù)的匯總(c++)

    1、重建二叉樹(shù): 輸入某二叉樹(shù)的前序遍歷和中序遍歷的結(jié)果,請(qǐng)重建出該二叉樹(shù)。假設(shè)輸入的前序遍歷和中序遍歷的結(jié)果中都不含重復(fù)的數(shù)字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹(shù)并返回。 2、樹(shù)的子結(jié)構(gòu): 輸入兩棵二叉樹(shù)A和B,

    2023年04月12日
    瀏覽(18)
  • Leetcode-每日一題【劍指 Offer 26. 樹(shù)的子結(jié)構(gòu)】

    Leetcode-每日一題【劍指 Offer 26. 樹(shù)的子結(jié)構(gòu)】

    輸入兩棵二叉樹(shù)A和B,判斷B是不是A的子結(jié)構(gòu)。(約定空樹(shù)不是任意一個(gè)樹(shù)的子結(jié)構(gòu)) B是A的子結(jié)構(gòu), 即 A中有出現(xiàn)和B相同的結(jié)構(gòu)和節(jié)點(diǎn)值。 例如: 給定的樹(shù) A: ? ? ?3 ? ? / ? ?4 ? 5 ? / ?1 ? 2 給定的樹(shù) B: ? ?4? ? / ?1 返回 true,因?yàn)?B 與 A 的一個(gè)子樹(shù)擁有相同的結(jié)構(gòu)和節(jié)點(diǎn)

    2024年02月13日
    瀏覽(23)
  • (樹(shù)) 劍指 Offer 26. 樹(shù)的子結(jié)構(gòu) ——【Leetcode每日一題】

    (樹(shù)) 劍指 Offer 26. 樹(shù)的子結(jié)構(gòu) ——【Leetcode每日一題】

    難度:中等 輸入兩棵二叉樹(shù) A 和 B ,判斷 B 是不是 A 的子結(jié)構(gòu)。(約定空樹(shù)不是任意一個(gè)樹(shù)的子結(jié)構(gòu)) B 是 A 的子結(jié)構(gòu), 即 A 中有出現(xiàn)和B相同的結(jié)構(gòu)和節(jié)點(diǎn)值。 例如: 給定的樹(shù) A : 給定的樹(shù) B : 返回 true ,因?yàn)?B 與 A 的一個(gè)子樹(shù)擁有相同的結(jié)構(gòu)和節(jié)點(diǎn)值。 示例 1: 輸入:A =

    2024年02月15日
    瀏覽(20)
  • 每日一題:LeetCode-102.二叉樹(shù)的層序遍歷

    每日一題:LeetCode-102.二叉樹(shù)的層序遍歷

    前言: ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ????如果說(shuō)代碼有靈魂,那么它的靈魂一定是???? 算法 ????,因此,想要寫(xiě)出??優(yōu)美的程序??,核心算法是必不可少的,少年,你渴望力量嗎????,想掌握程序的靈魂嗎???那么就必須踏上這樣一條漫長(zhǎng)

    2024年02月05日
    瀏覽(23)
  • 236. 二叉樹(shù)的最近公共祖先 ——【Leetcode每日一題】

    236. 二叉樹(shù)的最近公共祖先 ——【Leetcode每日一題】

    給定一個(gè)二叉樹(shù), 找到該樹(shù)中兩個(gè)指定節(jié)點(diǎn)的最近公共祖先。 百度百科中最近公共祖先的定義為:“對(duì)于有根樹(shù) T 的兩個(gè)節(jié)點(diǎn) p 、 q ,最近公共祖先表示為一個(gè)節(jié)點(diǎn) x ,滿足 x 是 p 、 q 的祖先且 x 的深度盡可能大(一個(gè)節(jié)點(diǎn)也可以是它自己的祖先)。” 示例 1: 輸入:root

    2023年04月26日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包