您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页牛客JZ36 二叉搜索树与双向链表 C++

牛客JZ36 二叉搜索树与双向链表 C++

来源:化拓教育网

牛客JZ36 二叉搜索树与双向链表 C++

思路🧐:

代码🔎:

class Solution {
public:
	void InOrder(TreeNode* cur, TreeNode*& prev)
	{
		
		if(cur == nullptr)
			return;
		InOrder(cur->left, prev);

		cur->left = prev;
		if(prev) //如果prev不为空,就说明可以链接
			prev->right = cur;
		prev = cur; //置回cur位置

		InOrder(cur->right, prev);
	}
    TreeNode* Convert(TreeNode* pRootOfTree) {
        TreeNode* cur = pRootOfTree, *prev = nullptr;
		InOrder(cur, prev);

		TreeNode* head = pRootOfTree; //找头
		while(head && head->left) //找链表的头,由于是中序,一直向左找一定能找到
		{
			head = head->left;
		}
		return head;
	}
};

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务