f********y 发帖数: 156 | 1 貌似 tail->up -> down。其实up / down 可以交换,你在flatten的时候先处理谁,那
么在unflatten也要先处理它。
Deflatten的唯一是因为 up / down 指针在flatten以后还保留着。flatten 只是把上
下层的表头连到了当前层的尾巴。
Deflatten的时候,觉得应该BFS。 貌似分层的问题,染色的问题,都是BFS。( 楼主
原帖里的link 中有个递归做deflatten的函数,感觉不大对)
void deflatten(Node* pHead) {
if(! pHead ) {
return;
}
queue q;
q.push(pHead);
while(!q.empty()) {
Node* p = q.front();
q.pop();
while... 阅读全帖 |
|