把一個(gè)二叉樹(shù)展平成一個(gè)鏈表
借鑒了別人的思路,相當(dāng)?shù)膮柡Α?/p>
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func flatten(root *TreeNode) {
node := root
for node != nil {
if node.Left != nil {
tmp := node.Left
for tmp.Right != nil {
tmp = tmp.Right
}
tmp.Right = node.Right
node.Right = node.Left
node.Left = nil
}
node = node.Right
}
}