LeetCode 430. Flatten a Multilevel Doubly Linked List
Posted hankunyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 430. Flatten a Multilevel Doubly Linked List相关的知识,希望对你有一定的参考价值。
DFS题目,先访问child再访问next。遍历的时候顺便创建doubly linked list即可。
Helper Function
可以利用全局变量,加上dfs的helper function。这样的好处是非常好写,不容易出错。
class Solution public: Node *dummy=new Node(0,NULL,NULL,NULL), *p=dummy, *prev=NULL; Node* flatten(Node* head) dfs(head); return dummy->next; void dfs(Node *head) if (head==NULL) return; p->next = new Node(head->val,prev,NULL,NULL); prev = p = p->next; if (head->child) dfs(head->child); if (head->next) dfs(head->next); ;
Self Recursion
。。。
以上是关于LeetCode 430. Flatten a Multilevel Doubly Linked List的主要内容,如果未能解决你的问题,请参考以下文章
430. Flatten a Multilevel Doubly Linked List
LeetCode 114. Flatten Binary Tree to Linked List
[LeetCode] Flatten Nested List Iterator 压平嵌套链表迭代器
leetcode 114. Flatten Binary Tree to Linked List (Python版)
[LeetCode] Flatten a Multilevel Doubly Linked List 压平一个多层的双向链表