劍指Offer刷題筆記 二叉樹的映象

2021-09-25 23:48:21 字數 613 閱讀 1428

操作給定的二叉樹,將其變換為源二叉樹的映象。

思路:遞迴的交換左右子樹。不是交換結點的數值,直接交換結點。

# -*- coding:utf-8 -*-

# class treenode:

# def __init__(self, x):

# self.val = x

# self.left = none

# self.right = none

class solution:

# 返回映象樹的根節點

def mirror(self, root):

# write code here

if not root:

return

# python可以直接交換

root.right,root.left = root.left,root.right

# 子樹不為空,接著交換子樹

if root.right:

self.mirror(root.right)

if root.left:

self.mirror(root.left)

劍指Offer刷題筆記 二叉樹的深度

輸入一棵二叉樹,求該樹的深度。從根結點到葉結點依次經過的結點 含根 葉結點 形成樹的一條路徑,最長路徑的長度為樹的深度。就是深度搜尋,找到最大深度。coding utf 8 class treenode def init self,x self.val x self.left none self.r...

劍指Offer 刷題 重建二叉樹

definition for binary tree public class treenode public class solution int val pre prel 前序遍歷序列中的第乙個數即為根節點 treenode tree newtreenode val int mid 0 找到根節...

劍指Offer刷題筆記 從上往下列印二叉樹

從上往下列印出二叉樹的每個節點,同層節點從左至右列印。其實這就是廣度搜尋。與廣度搜尋對應的是深度搜尋,所謂深度搜尋就是前序遍歷,除了常見的遞迴實現之外,還可以利用棧來實現 利用棧,先將根入棧,再將根出棧,並將根的右子樹,左子樹存入棧,按照棧的先進後出規則來實現深度優先遍歷。深度優先搜尋不能用都佇列來...