扁平化多級雙向鍊錶 day08

2021-10-07 02:04:24 字數 787 閱讀 5847

思考良久,沒有想到什麼好方法,這時候只能按部就班分情況討論

鍊錶有子節點

當前節點是否為空?

當前節點為空

temp.next = temp.child;

//temp表示當前節點

temp.child = null;

temp.next.prev = temp;

temp = temp.next;

當前節點不為空

先把當前節點的下乙個節點入棧,再執行上邊的操作

stack.

add(temp.next)

;temp.next = temp.child;

//temp表示當前節點

temp.child = null;

temp.next.prev = temp;

temp = temp.next;

鍊錶沒有子節點

當前節點是否是末尾節點並且棧是不是空的

如果當前節點的下乙個節點為空並且棧非空,就把當前節點指向棧中彈出來的節點

否則繼續往後走

public node flatten

(node head)

temp = temp.next;

}else

}return head;

}

扁平化多級雙向鍊錶

題目描述 多級雙向鍊錶中,除了指向下乙個節點和前乙個節點指標之外,它還有乙個子鍊錶指標,可能指向單獨的雙向鍊錶。這些子列表也可能會有乙個或多個自己的子項,依此類推,生成多級資料結構,如下面的示例所示。給你位於列表第一級的頭節點,請你扁平化列表,使所有結點出現在單級雙鏈表中。示例 1 輸入 head ...

扁平化多級雙向鍊錶

您將獲得乙個雙向鍊錶,除了下乙個和前乙個指標之外,它還有乙個子指標,可能指向單獨的雙向鍊錶。這些子列表可能有乙個或多個自己的子項,依此類推,生成多級資料結構,如下面的示例所示。扁平化列表,使所有結點出現在單級雙鏈表中。您將獲得列表第一級的頭部。示例 輸入 1 2 3 4 5 6 null 7 8 9...

430 扁平化多級雙向鍊錶

題目 多級雙向鍊錶中,除了指向下乙個節點和前乙個節點指標之外,它還有乙個子鍊錶指標,可能指向單獨的雙向鍊錶。這些子列表也可能會有乙個或多個自己的子項,依此類推,生成多級資料結構,如下面的示例所示。給你位於列表第一級的頭節點,請你扁平化列表,使所有結點出現在單級雙鏈表中。示例 1 輸入 head 1,...