例题10.3二叉排序树及其父节点(华科)

二叉排序树

http://www.nowcoder.com/practice/30a0153649304645935c949df7599602

例题10.3二叉排序树(华科)

关键字:二叉排序树的插入、二叉排序树输出父节点

#include<iostream>
#include<vector>
using namespace std;

struct TreeNode {
	int val;
	TreeNode* left;
	TreeNode* right;
	TreeNode(int x):val(x),left(nullptr),right(nullptr){}
};

TreeNode* insertBST(TreeNode* root, int x, int father) {
	if (root == nullptr) {
		root = new TreeNode(x);
		cout << father << endl;
	}
	else if (x < root->val) {
		root->left = insertBST(root->left, x, root->val);
	}
	else if (x > root->val) {
		root->right = insertBST(root->right, x, root->val);
	}
	return root;
}

int main() {
	int n;
	while (cin >> n) {
		TreeNode* root = nullptr;
		for (int i = 0; i < n; i++) {
			int x;
			cin >> x;
			root = insertBST(root, x, -1);
		}
		cout << endl;
	}
	return 0;
}
全部评论

相关推荐

不像现在的我,已经是虚伪的社会人了。
真烦好烦真烦:好有个性的一段话,导师没有让你修改吗
点赞 评论 收藏
分享
嵌入式求职之路:可以看我经验😂,https://www.nowcoder.com/share/jump/73221730841876945
点赞 评论 收藏
分享
03-28 00:50
已编辑
武汉理工大学 Java
礼堂顶真:一般都是横向对比挂的,很少hr面本身挂人,除非答的太逆天
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务