文章

16

粉丝

33

获赞

2

访问

3.2k

头像
寻找二叉树的最后一层的最后一个结点 题解:
P2010
发布于2024年3月31日 22:00
阅读数 163

## 分析
- **注意第二个测试样例有毒,ABC##构不成先序序列,改成ABC####就好了**
- 考察基本功,主要思路是根据带空树提醒的先序序列构建二叉树,然后输出层序遍历序列的最后一个元素
- 关于重建二叉树的思路可以参考我之前发的博文,链接如下:
【[6.二叉树——2.重建树](https://blog.csdn.net/qq_48035645/article/details/136561886)】
- 最简单的方法是直接复制博文里面的代码

但是我还是建议学习完上面的博文后自己重头开始自己写一遍代码,不要参考博文的提示,这样多练几次才能**功夫到家**
### 代码

```cpp
#include <queue>
#include <iostream>
using namespace std;

struct treenode {
    char data;
    struct treenode *left;
    struct treenode *right;
};

struct treenode *pre_build(int &i, char *str) {
    char c = str[i];
    i++;
    if (c == '#') {
        return NULL;
    } else {
        struct treenode *newnode = new treenode;
        newnode->data = c;
        newnode->left = pre_build(i, str)...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发