dave on Nostr: // 后序遍历 func PostorderTraversal(root *TreeNode) []int { res := []int{} ...
// 后序遍历
func PostorderTraversal(root *TreeNode) []int {
res := []int{}
rootNode := root
stack := []*TreeNode{}
for rootNode != nil || len(stack) > 0 {
for rootNode != nil {
stack = append(stack, rootNode)
rootNode = rootNode.Left
}
if len(stack) > 0 {
rootNode = stack[len(stack)-1]
stack = stack[:len(stack)-1]
res = append(res, rootNode.Val)
rootNode = rootNode.Right
}
}
return res
}
Published at
2023-02-08 05:11:25Event JSON
{
"id": "a7cf384df49a0ea03c7cb25228b2e9540ca5e9b55eb12c83ce54ff391bb2e007",
"pubkey": "5c10ed0678805156d39ef1ef6d46110fe1e7e590ae04986ccf48ba1299cb53e2",
"created_at": 1675833085,
"kind": 1,
"tags": [
[
"e",
"be8b9a3596bcd5ece10504d6c0be99582cc6ad04dc1c66b4c3d7d68b4dda2849",
"",
"root"
],
[
"e",
"862f1c35c488e3912387b8bac7ca42cdf511fd833ff9b718f185150a6da906f5",
"",
"reply"
],
[
"p",
"a62495388e63390bcda5df2565ec6b484ea8fdf8d83ab65b720ccbea9a1ade39"
]
],
"content": "// 后序遍历\nfunc PostorderTraversal(root *TreeNode) []int {\n res := []int{}\n rootNode := root\n stack := []*TreeNode{}\n for rootNode != nil || len(stack) \u003e 0 {\n for rootNode != nil {\n stack = append(stack, rootNode)\n rootNode = rootNode.Left\n }\n if len(stack) \u003e 0 {\n rootNode = stack[len(stack)-1]\n stack = stack[:len(stack)-1]\n res = append(res, rootNode.Val)\n rootNode = rootNode.Right\n }\n }\n return res\n}",
"sig": "e4f45d8b78990ca7232d24dc0059a82d9da0afe55e34531c72f060bf0607c1b510dcd0592aa3b188ff9ca9f164eb7e5d081011422f9c78ee969d19ee8bc97a3f"
}