问题
给定一个链表,除了next指针外,每个节点还有一个child指针,该指针可能指向另一个单独的链表。
给定第一个链表的头节点,将链表展开,使所有节点都出现在单层链接列表中。
目标.
我们需要以这样的方式展开列表,即首先显示所有第一级节点,然后是第二级节点,依此类推。
上述列表应转换为
10->5->12->7->11->4->20->13->17->6->2->16->9->8->3->19->15
我的方法:
1) Create an empty queue
2) while(Queue is not empty AND head.next!=null AND head.child!=null)
2a) while(head!=null)
if(head.child!=null)
Enqueue(head.child)
newList = head;
head = head.next;
newList = newList.next;
2b)head = deQ();
这种方法正确吗?
Queue is not empty
是否等同于head.next!=null AND head.child!=null
仍然不确定。除此之外,你的方法看起来是正确的。 - aa333while
的第二行中的终止条件? - Dubby