單鏈表和雙向鍊錶反轉 java

2021-08-24 20:40:43 字數 792 閱讀 3800

題目要求:

反轉單向和雙向鍊錶

【題目】 分別實現反轉單向鍊錶和反轉雙向鍊錶的函式。

【要求】 如果鍊錶長度為n, 時間複雜度要求為o(n), 額外空間

複雜度要求為o(1)

public

class

e7_reverselink

}public

static node reverselist(node head)

return pre;

}public

static

class

doublenode

}public

static doublenode reverselist(doublenode head)

return pre;

}public

static

void

printlinkedlist(node head)

system.out.println();

}public

static

void

printdoublelinkedlist(doublenode head) {

system.out.print("double linked list: ");

doublenode end = null;

while (head != null) {

system.out.print(head.value + " ");

end = head;

鍊錶 將單鏈表反轉

todo 將單鏈表反轉 1.先定義乙個結點 2.從頭到尾遍歷原來的鍊錶,每遍歷乙個節點,就將其取出,並放在新的鍊錶的最前端 param head public static void reverse heronode head 原來的鍊錶 heronode temp head.next 當前結點的下...

反轉單鏈表(java)

反轉單鏈表 輸入煉表頭節點,輸入反轉後的煉表頭節點 第一次想到的解法 時間和空間複雜度較高 將單鏈表每個節點依次讀入到棧中,然後出棧,重新連線成反轉後的單鏈表 public static listnode convert listnode node stack stack new stack 入棧 ...

雙向鍊錶反轉

鍊錶節點定義 struct listhao listhao reverselist listhao first 現要實現輸入乙個雙向煉表頭指標,反轉鍊錶,並返回反轉後的頭指標。鍊錶節點如下圖,關鍵 如下 listhao reverselist listhao head assume that thi...