题解 | #二叉搜索树与双向链表#先中序排序再数组连接
二叉搜索树与双向链表
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: vector<TreeNode*> TreeList; void inorder(TreeNode* root){ if (!root) return; inorder(root->left); TreeList.push_back(root); inorder(root->right); } TreeNode* Convert(TreeNode* pRootOfTree) { if (!pRootOfTree) return pRootOfTree; inorder(pRootOfTree); for(int i = 0;i<TreeList.size()-1;i++){ TreeList[i+1] -> left = TreeList[i]; TreeList[i] -> right = TreeList[i+1]; } return TreeList[0]; } };