题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
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( pRootOfTree *TreeNode ) *TreeNode { // write code here if pRootOfTree == nil { return nil } var head, pre *TreeNode var dfs func(*TreeNode) dfs = func(root *TreeNode) { if root == nil { return } dfs(root.Left) if pre == nil { head = root pre = root } else { pre.Right = root root.Left = pre pre = root } dfs(root.Right) } dfs(pRootOfTree) return head }