剑指offer---二叉树和双向链表
//肯定是要用中序遍历。。。可是开始不怎么会弄 //为什么这么菜 /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } };*/ class Solution { public: void ConvertSup(TreeNode* &proot,TreeNode* &pre) { ConvertSup(proot->left,pre); proot->left=pre; if(pre!=NULL) pre->right=proot; pre=proot; ConvertSup(proot->right,pre); } TreeNode* Convert(TreeNode* pRootOfTree) { TreeNode* pre=NULL; if(pRootOfTree==NULL) { return NULL; } ConvertSup(pRootOfTree,pre); TreeNode* cur=pRootOfTree; while(cur->left!=NULL) { cur=cur->left; } return cur; } };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步