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(pRootOfTree *TreeNode) dfs = func(pRootOfTree *TreeNode) { if pRootOfTree == nil { return } dfs(pRootOfTree.Left) if pre == nil { head = pRootOfTree pre = pRootOfTree } else { pRootOfTree.Left = pre pre.Right = pRootOfTree pre = pRootOfTree } dfs(pRootOfTree.Right) } dfs(pRootOfTree) return head }