题解 | 二叉搜索树与双向链表

二叉搜索树与双向链表

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) {
	}
};*/
#include <vector>
class Solution {
public:
    TreeNode* Convert(TreeNode* pRootOfTree) {
		if(pRootOfTree == nullptr)
		{
			return nullptr;;
		}
		vector<TreeNode*>vec;
		inOrder(pRootOfTree, vec);
		for(int i = 0; i < vec.size(); i++)
		{
			if(i == 0)
			{
				vec[i]->left = nullptr;
				vec[i]->right = vec[i + 1];
			}
			else {
				vec[i]->left = vec[i - 1];
				vec[i]->right = vec[i + 1];
			}
		}
		return vec[0];
    }

	void inOrder(TreeNode *node, vector<TreeNode*> &vec) // LVR
	{
		if(node != nullptr)
		{
			inOrder(node->left, vec);
			vec.push_back(node);
			inOrder(node->right, vec);
		}
	}
};

全部评论

相关推荐

10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
10-09 17:17
已编辑
门头沟学院 Java
活泼的代码渣渣在泡池...:同学你好,我也是学院本,后天要面这个亚信科技,是实习,请问问题都啥样呀,我项目就做了网上的,这是第一次面试
投递多益网络等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务