Golang | Leetcode Golang题解之第144题二叉树的前序遍历

作者 : admin 本文共286个字,预计阅读时间需要1分钟 发布时间: 2024-06-11 共1人阅读

题目:

Golang | Leetcode Golang题解之第144题二叉树的前序遍历插图

题解

func preorderTraversal(root *TreeNode) (vals []int) {
    var p1, p2 *TreeNode = root, nil
    for p1 != nil {
        p2 = p1.Left
        if p2 != nil {
            for p2.Right != nil && p2.Right != p1 {
                p2 = p2.Right
            }
            if p2.Right == nil {
                vals = append(vals, p1.Val)
                p2.Right = p1
                p1 = p1.Left
                continue
            }
            p2.Right = nil
        } else {
            vals = append(vals, p1.Val)
        }
        p1 = p1.Right
    }
    return
}
本站无任何商业行为
个人在线分享 » Golang | Leetcode Golang题解之第144题二叉树的前序遍历
E-->