题解 | #二叉搜索树与双向链表#
二叉搜索树与双向链表
https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5
/* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: TreeNode* cur = nullptr; TreeNode* head = nullptr; TreeNode* Convert(TreeNode* pRootOfTree) { if (!pRootOfTree) return nullptr; Convert(pRootOfTree->left); if (!cur) { cur = pRootOfTree; head = pRootOfTree; } else { cur->right = pRootOfTree; pRootOfTree->left = cur; cur = pRootOfTree; } Convert(pRootOfTree->right); return head; } };
学着题解写的代码,可以适当用一个例子研究一下,对于初学者挺有启发的