以二叉树为输入(递归)
Taking binary tree as input(recursively)
我应该递归地将二叉树的输入作为:
10 真 20 真 40 假假真 50 假假真 30 真 60
假假真 73 假假假所以创建的树应该是:-
10
20 30
40 50 60 73
我创建了一个无法创建此树的函数,代码中有什么问题?
node* takeInput() {
int data;
string a;
cin>>data>>a;
node*n = NULL;
if(a=="true") {
n = new node(data);
n->left = takeInput();
n->right = takeInput();
}
if(a=="false") {
return NULL;
}
return n;
}
将输入作为无序树遍历...
- 首先获取根节点的输入。
- 然后输入左侧子树(如果存在(。
- 然后输入右子树(如果存在(。
法典:
void takeInput(Node* &node) {
string left, right;
int data;
cin >> data; // input for root node
node = new Node(data);
cin >> left;
if(left == "true") {
takeInput(node->left); // taking input for left subtree
}
cin >> right;
if(right == "true") {
takeInput(node->right); // taking input for right subtree
}
}
Node* InputBinaryTree() {
Node *root;
takeInput(root);
return root;
}
相关文章:
- 如何使用递归循环我的代码(当用户输入无效输入时,它会再次提示他们)?
- 将公共递归转换为尾递归,因为大型输入的堆栈溢出
- 如果我更改函数输入,我的递归不起作用?
- 为什么我的递归最长递增子序列函数不适用于大输入?
- 递归函数、布尔语句和输入C++
- 如何创建一个递归函数来显示有多少元音具有输入
- 以二叉树为输入(递归)
- 递归 cin.getline() 不想要求输入
- 实现递归函数,避免由 C++ 中 include 的循环调用(没有 #pragma 一次)引起的无限循环输入
- 无法让我的代码正确排序用户输入的数字数组(使用递归)
- 使用递归方法将矢量作为输入时进行分割故障
- 使用递归方法的类,使用int矢量元素作为输入
- 输入所有子文件夹 - 递归
- 找到用户输入的每个4位数字,并使用递归进行计数
- (C++)对文件输入函数的递归调用
- C++:为什么为"int"变量输入"char"会导致递归变得疯狂?
- 递归函数计算(2^k)m=输入
- 使用递归方法反转ifstream输入
- Scala/ c++:尾部递归函数代替输入循环
- 基于字符串递归输入Json对象