幾個二叉樹和佇列的題目

2021-10-02 12:53:25 字數 1789 閱讀 6281

出不了門,在家做題

分別用前中後三種遍歷方式,先遞迴再迴圈,首先第乙個是數的定義。

function

treenode

=(val)

=>

前序

const

preorder

=(root)

=>

const

preorder

=(root)

=>

return res

}

中序

const

innerorder

=(root)

=>

const

innerorder

=(root)

=>

let node = stack.

pop(

) res.

push

(node.val)

p = node.right

}return res

}

後序

function

backorder

=(root)

=>

function

backorder

= root =>

let node = stack.

slice(-

1)[0

]if(node.right &&

!dic.

has(node.right)

)else

}return res

}

換個方式,先用遞迴求兩個深度,在使用迴圈

function

maxdepth

(root)

function

mindepth

(root)

else

}

接著使用dfs迴圈

function

maxdepth

(root)

level++

}return level

}

function

mindepth

(root)

level++

}return level

}

還是迴圈和遞迴

function

closedans

(root, p, q)

if(front.right)}}

while

(q)while

(p)}

function

closedans

(root, p, q)

由於二叉搜尋樹的特性,我們可以使用這種遞迴:

function

searchclosedans

(root, p, q)

當然也有迴圈的方式

function

searchclosedans

(root, p, q)

}

幾個二叉樹和二叉搜尋樹的題目

首先用遞迴實現 function mirrior root if root return true return help root.left,root.right 接著用迴圈實現 function mirrior root return true 這道題有一點很坑的是最長路徑不一定經過根節點。fu...

二叉樹題目

struct treenode treenode left treenode right 遞迴解法 如果二叉樹為空,節點個數為0 如果二叉樹不為空,那麼節點個數 左子樹結點個數 右子樹結點個數 1 int getnodenum treenode root 如果二叉樹為空,二叉樹的深度為0 如果二叉樹...

二叉樹題目

include include includeusing namespace std void print postorder int n,char pre,char in n代表節點個數,pre前 in 中 post後,不建樹用void int main void return 0 根據後中求層次...