自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊二叉樹的左右子樹交換

開發(fā) 前端
二叉樹(Binary tree)是樹形結(jié)構(gòu)的一個(gè)重要類型。許多實(shí)際問題抽象出來的數(shù)據(jù)結(jié)構(gòu)往往是二叉樹形式,即使是一般的樹也能簡(jiǎn)單地轉(zhuǎn)換為二叉樹,而且二叉樹的存儲(chǔ)結(jié)構(gòu)及其算法都較為簡(jiǎn)單,因此二叉樹顯得特別重要。

[[428239]]

本文轉(zhuǎn)載自微信公眾號(hào)「三分鐘學(xué)前端」,作者sisterAn。轉(zhuǎn)載本文請(qǐng)聯(lián)系三分鐘學(xué)前端公眾號(hào)。

翻轉(zhuǎn)一棵二叉樹。

示例:

輸入:

  1.      4 
  2.    /   \ 
  3.   2     7 
  4.  / \   / \ 
  5. 1   3 6   9 

輸出:

  1.      4 
  2.    /   \ 
  3.   7     2 
  4.  / \   / \ 
  5. 9   6 3   1 

遍歷+交換左右子樹

解題思路: 從根節(jié)點(diǎn)開始依次遍歷每個(gè)節(jié)點(diǎn),然后交換左右子樹既可

  1. const invertTree = (root) => { 
  2.     if(!root) return null 
  3.     // 先翻轉(zhuǎn)當(dāng)前節(jié)點(diǎn)的左右子樹 
  4.     const temp = root.left 
  5.     root.left = root.right 
  6.     root.right = temp 
  7.     // 然后遍歷左子樹 
  8.     invertTree(root.left
  9.     // 再遍歷右子樹 
  10.     invertTree(root.right
  11.     return root 

這里采用的是前序遍歷,也可以是后序遍歷或?qū)有虮闅v

 

leetcode:https://leetcode-cn.com/problems/invert-binary-tree

 

責(zé)任編輯:武曉燕 來源: 三分鐘學(xué)前端
相關(guān)推薦

2021-11-28 23:54:28

子樹B結(jié)構(gòu)

2020-04-27 07:05:58

二叉樹左子樹右子樹

2021-12-03 09:16:03

二叉樹打印平衡

2021-09-29 10:19:00

算法平衡二叉樹

2021-04-19 07:47:42

數(shù)據(jù)結(jié)構(gòu)二叉樹Tree

2021-04-20 08:37:14

數(shù)據(jù)結(jié)構(gòu)二叉樹

2021-03-17 08:19:22

二叉樹LeetCode

2013-07-15 16:35:55

二叉樹迭代器

2022-10-26 23:58:02

二叉樹數(shù)組算法

2023-02-01 07:27:46

序列化二叉樹根節(jié)點(diǎn)

2021-04-28 20:12:27

數(shù)據(jù)結(jié)構(gòu)創(chuàng)建

2021-08-27 11:36:44

二叉樹回溯節(jié)點(diǎn)

2018-03-15 08:31:57

二叉樹存儲(chǔ)結(jié)構(gòu)

2021-05-06 17:46:30

二叉樹數(shù)據(jù)結(jié)構(gòu)

2020-11-25 08:25:02

二叉樹節(jié)點(diǎn)

2020-09-23 18:25:40

算法二叉樹多叉樹

2021-09-07 11:01:41

二叉搜索樹序數(shù)組

2021-09-15 07:56:32

二叉樹層次遍歷

2021-03-22 08:23:29

LeetCode二叉樹節(jié)點(diǎn)

2023-05-08 15:57:16

二叉樹數(shù)據(jù)結(jié)構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)