树117. 填充每个节点的下一个右侧节点指针 II
Posted 梦醒潇湘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树117. 填充每个节点的下一个右侧节点指针 II相关的知识,希望对你有一定的参考价值。
题目:
解答:
/* // Definition for a Node. class Node { public: int val; Node* left; Node* right; Node* next; Node() : val(0), left(NULL), right(NULL), next(NULL) {} Node(int _val) : val(_val), left(NULL), right(NULL), next(NULL) {} Node(int _val, Node* _left, Node* _right, Node* _next) : val(_val), left(_left), right(_right), next(_next) {} }; */ class Solution { public: Node* connect(Node* root) { Node *n = root; while (n) { // the first node of next level Node * next = NULL; // previous node on the same level Node * prev = NULL; for (; n; n=n->next) { if (!next) next = n->left ? n->left:n->right; if (n->left) { if (prev) prev->next = n->left; prev = n->left; } if (n->right) { if (prev) { prev->next = n->right; } prev = n->right; } } n = next; // turn to next level } return root; } };
以上是关于树117. 填充每个节点的下一个右侧节点指针 II的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第117题—填充每个节点的下一个右侧节点指针II—Python实现
Leetcode 117. 填充每个节点的下一个右侧节点指针 II
LeetCode 0117. 填充每个节点的下一个右侧节点指针 II