其他分享
首页 > 其他分享> > c_lc_递增顺序搜索树(中序遍历 + 修改指针/重新构造树)

c_lc_递增顺序搜索树(中序遍历 + 修改指针/重新构造树)

作者:互联网

将其重新排列为一棵递增顺序搜索树,使树中最左边的节点成为树的根节点,并且每个节点没有左子节点,只有一个右子节点。

方法一:中序遍历+修改指针

var fw, ans *TreeNode
func dfs(root *TreeNode) {
	if root == nil {
		return
	}
	dfs(root.Left)
	if fw == nil {
		fw = root
		ans = fw
	} else {
		fw.Right = root
		root.Left = nil
		fw = root
	}
	dfs(root.Right)
}
func increasingBST(root *TreeNode) *TreeNode {
    fw, ans = nil, nil
	dfs(root)
	return ans
}

方法二:重新构造


标签:TreeNode,lc,nil,fw,中序,dfs,ans,顺序搜索,root
来源: https://blog.csdn.net/qq_43539599/article/details/116140502