题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
http://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5
看了评论区大佬方法,pre要加引用或者干脆设置为一个成员变量,因为回溯后还要用到pre
class Solution {
public:
void backtra(TreeNode* cur,TreeNode*& pre){
if(!cur) return;
backtra(cur->left, pre);
cur->left=pre;
if(pre) pre->right=cur;
pre=cur;
backtra(cur->right,pre);
}
TreeNode* Convert(TreeNode* pRootOfTree) {
if(!pRootOfTree) return pRootOfTree;
TreeNode* pre =NULL;
backtra(pRootOfTree, pre);
TreeNode* ans =pRootOfTree;
while(ans->left){
ans=ans->left;
}
return ans;
}
};
三奇智元机器人科技有限公司公司福利 70人发布