文章

1

粉丝

38

获赞

0

访问

174

头像
二叉树遍历 为啥一直Runtime Error 求解
我要提问
发布于2024年3月18日 08:47
阅读数 174

# 地址:1161 - 二叉树遍历 _N诺计算机考研 (noobdream.com)

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

struct Node {
    char data;
    struct Node* lchild, *rchild;
};

Node* preorder(string str, int &i) {
    char data = str[i++];
    if (data == '#') {
        return NULL;
    }
    Node *node = new Node;
    node->data = data;
    node->lchild = preorder(str, i);
    node->rchild = preorder(str, i);
    return node;
}

void Inorder(Node *node) {
    if (node == NULL)
        return;
    Inorder(node->lchild);
    cout << node->data << " ";
    Inorder(node->rchild);
}

int main() {
    string str;
 ...

登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2024年3月18日 10:24

判断语句改为

if (data == '#' || i > str.length()) {
    return NULL;
}

赞(1)

Fljjjj : 回复 快乐小土狗: 感谢感谢

2024年3月18日 13:15