当前位置:   article > 正文

C++ | Leetcode C++题解之第116题填充每个节点的下一个右侧节点指针

C++ | Leetcode C++题解之第116题填充每个节点的下一个右侧节点指针

题目:

题解:

  1. class Solution {
  2. public:
  3. Node* connect(Node* root) {
  4. if (root == nullptr) {
  5. return root;
  6. }
  7. // 从根节点开始
  8. Node* leftmost = root;
  9. while (leftmost->left != nullptr) {
  10. // 遍历这一层节点组织成的链表,为下一层的节点更新 next 指针
  11. Node* head = leftmost;
  12. while (head != nullptr) {
  13. // CONNECTION 1
  14. head->left->next = head->right;
  15. // CONNECTION 2
  16. if (head->next != nullptr) {
  17. head->right->next = head->next->left;
  18. }
  19. // 指针向后移动
  20. head = head->next;
  21. }
  22. // 去下一层的最左的节点
  23. leftmost = leftmost->left;
  24. }
  25. return root;
  26. }
  27. };
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/687057
推荐阅读
相关标签
  

闽ICP备14008679号