题解 | 二叉搜索树与双向链表
二叉搜索树与双向链表
https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5
package main
import . "nc_tools"
/*
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
/**
*
* @param pRootOfTree TreeNode类
* @return TreeNode类
*/
func Convert(root *TreeNode) *TreeNode {
// write code here
var pre, head *TreeNode
var dfs func(node *TreeNode)
dfs = func(node *TreeNode) {
if node == nil {
return
}
// 中序遍历
dfs(node.Left)
if pre != nil {
pre.Right = node
} else {
head = node
}
node.Left = pre
pre = node
dfs(node.Right)
}
dfs(root)
return head
}

SHEIN希音公司福利 363人发布