题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5
func Convert( pRootOfTree *TreeNode ) *TreeNode {
// write code here
//1. 中序遍历,新建节点构建双向链表
//2.
if pRootOfTree == nil{
return nil
}
var pre *TreeNode
var dfs func(cur *TreeNode)
dfs = func(cur *TreeNode){
if cur == nil{
return
}
dfs(cur.Right)
if pre != nil{
cur.Right = pre
pre.Left = cur
}
pre = cur
dfs(cur.Left)
}
dfs(pRootOfTree)
return pre
}
