文章

1

粉丝

58

获赞

0

访问

5.8k

头像
不建树原地处理字符串
P1161 清华大学/南京大学2018机试题
发布于2021年9月5日 16:58
阅读数 5.8k

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

string s;

int go(int i) {
    if (i < 0 || i >= s.size()) return -1;
    if (s[i] == '#') return i + 1;
    int next = go(i + 1);
    cout << s[i] << ' ';
    return go(next);
}

int main() {
    while (getline(cin, s)) {
        go(0);
        cout << endl;
    }
}

不建树,跑字符串就行

next代表了子树向母节点反映其下一个节点的坐标,go(i+1)那里是访问左子树后它向母节点返回了右子树的坐标,go(next)则是访问了右子树后它返回了母节点邻居的坐标

 

字符串表示法

前序[母,左子树,右子树]

中序[左子树,母,右子树]

后序[左子树,右子树,母]

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发