14171 - Reverse Linked List   

Description

給定主要執行程式main.c (題號.c)、以及Header檔function.h (題號.h);請試著完成Header檔中未實現的函式:reverseList()

 

function.h:

ListNode

  • val (int) 儲存的整數

  • next (struct ListNode*) 代表下一個ListNode的記憶體位置

 

Methods:

- void reverseList(struct ListNode *head) – 需不斷的拜訪傳進的ListNode記憶體的下一個ListNode記憶體(next)直至結束(NULL)。並將所有拜訪過的ListNode中的下一個記憶體位置(next)指向上一個拜訪過的ListNode。

hint:

  1. 可以透過迴圈和next來不斷拜訪並取得下一個ListNode

  2. 可以宣告兩個struct ListNode *nextNode, *prevNode來將每個ListNode記憶體的下一個ListNode記憶體(next)指向上一個拜訪的ListNode記憶體,並持續拜訪下一個ListNode記憶體

  3. 可以透過判斷ListNode記憶體是否為NULL,來決定是否終止迴圈

 

 

function.c

#include "function.h"

void reverseList(struct ListNode *head) {

  // TODO

}

Input

n1 n2 n3 n4 n5

 

Note:

  1. n1~n5為整數,-2147483648 <= n <= 2147483647

Output

輸出符合以下格式:

n5 n4 n3 n2 n1

 

Note:

  1. 無需處理輸出

 

Sample Input  Download

Sample Output  Download

Partial Judge Code

14171.c

Partial Judge Header

14171.h

Tags




Discuss