劍指offer 面試題24 反轉鍊錶

2021-08-04 02:57:13 字數 786 閱讀 6557

完整**位址

定義乙個函式,輸入乙個鍊錶的頭結點,反轉該鍊錶並輸出反轉後鍊錶的頭結點

很簡單,單純考察**的魯棒性

要針對區分成以下三種情況處理:

1.輸入的煉表頭指標為null

2.輸入的鍊錶只有乙個節點

3.輸入的鍊錶有多個節點(正常情況)

public

static

class listnode

}public

static listnode reverselist(listnode head)

return first;

}

public

static

void

main(string args)

/** * 功能測試

*/private

static

void

test1()

/** * 邊界測試

* 長度為1

*/private

static

void

test2()

/** * 極端測試

*/private

static

void

test3()

private

static

void

printlist(listnode head)

system.out.println();

}

劍指offer 面試題24 鍊錶反轉

題目 輸入乙個鍊錶,反轉鍊錶後,輸出鍊錶的所有元素。思路 需要定義三個節點,當前節點pnode,前一節點ppre,和後一節點pnext。要將當前節點的下一節點pnode next用下一節點儲存起來,避免在反轉時發生鍊錶斷裂。然後將當前節點指向前一節點,然後將當前節點的指標移到下一節點,前一節點和下一...

《劍指offer 面試題24 反轉鍊錶》

劍指offer 面試題24 反轉鍊錶 註明 僅個人學習筆記 反轉鍊錶 public class reverselist24 鍊錶節點唯一時,返回頭節點 if head.next null node preversehead null node pnode head node prenode null...

劍指offer面試題24 反轉鍊錶

題目描述 輸入乙個鍊錶,反轉鍊錶後,輸出新鍊錶的表頭。struct listnode class solution 思路一 從頭到尾遍歷鍊錶,修改每兩個結點的指向 需要三個指標 p 遍歷鍊錶 pinsert 儲存反轉鍊錶後p的next應該指向的值 p1 下乙個應該訪問的結點 因為每一步將會出現斷鏈 ...