编辑
2023-11-03
算法题
00
请注意,本文编写于 554 天前,最后修改于 554 天前,其中某些信息可能已经过时。

image.png

利用层序遍历,每次都保存上一个节点指针。当且仅当prev不为null才更新next

cpp
#include <queue> struct Node { int val; Node* left; Node* right; Node* next; }; Node* connect(Node* root) { if (root == nullptr) { return nullptr; } std::queue<Node*> q; q.push(root); while (!q.empty()) { int levelSize = q.size(); Node* prev = nullptr; for (int i = 0; i < levelSize; i++) { Node* node = q.front(); q.pop(); if (prev != nullptr) { prev->next = node; } prev = node; if (node->left != nullptr) { q.push(node->left); } if (node->right != nullptr) { q.push(node->right); } } } return root; }

本文作者:yowayimono

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!