6-1 單連結串列逆轉 (20point(s))(12行兩個指標解決)
本題要求實現一個函式,將給定的單連結串列逆轉。
函式介面定義:
List Reverse( List L );
其中List結構定義如下:
typedef struct Node *PtrToNode;
struct Node {
ElementType Data; /* 儲存結點資料 */
PtrToNode Next; /* 指向下一個結點的指標 */
};
typedef PtrToNode List; /* 定義單連結串列型別 */
L是給定單連結串列,函式Reverse要返回被逆轉後的連結串列。
裁判測試程式樣例:
#include <stdio.h>
#include <stdlib.h>
typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {
ElementType Data;
PtrToNode Next;
};
typedef PtrToNode List;
List Read(); /* 細節在此不表 */
void Print( List L ); /* 細節在此不表 */
List Reverse( List L );
int main()
{
List L1, L2;
L1 = Read();
L2 = Reverse(L1);
Print(L1);
Print(L2);
return 0;
}
/* 你的程式碼將被嵌在這裡 */
輸入樣例:
5
1 3 4 5 2
輸出樣例:
1
2 5 4 3 1
List Reverse( List L ){
if(L == NULL)return L; // 老規矩,空連結串列一般寫在前面
List start = NULL; // 思考了一會,發現還是得需要定義兩個指標變數
while(L!= NULL && L->Next != NULL){ // 這裡的a是L->Next,所以加了個L->Next != NULL條件
List a = L->Next;
L->Next = start;
start = L;
L = a;
}
L->Next = start; //最後一截連結串列,還沒有連上,補上它
return L;
}
相關文章
- 單連結串列的逆序輸出 PTA6-1 單連結串列逆轉 為例
- 反轉一個單連結串列。
- c語言單向連結串列逆轉實現方法C語言
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- (轉發)連結串列新增函式中為什麼要用指向連結串列指標的指標(引用傳參)函式指標
- 55-將單連結串列原地逆置(有頭結點的單連結串列)
- 逆置連結串列
- 單連結串列增刪改查(無頭指標)指標
- 單連結串列逆位表示的 2 個整數求和
- 【LeetCode連結串列#9】圖解:兩兩交換連結串列節點LeetCode圖解
- golang二級指標操作連結串列Golang指標
- 實現反轉連結串列--遞迴、迭代、雙指標、棧遞迴指標
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- BAT 經典演算法筆試題 —— 逆轉單向連結串列BAT演算法筆試
- 單連結串列複製你已經會了,如果我們再加個指標...指標
- Java單連結串列反轉圖文詳解Java
- 合併兩個有序連結串列
- 連結串列 - 單向連結串列
- 【LeetCode】【連結串列】劍指 Offer 52. 兩個連結串列的第一個公共節點 思路解析和程式碼LeetCode
- 演算法題:反轉一個單連結串列&判斷連結串列是否有環演算法
- 劍指 Offer 24. 反轉連結串列
- 劍指 Offer 24.反轉連結串列
- 劍指Offer-38-兩個連結串列的第一個公共節點
- 連結串列-單連結串列實現
- 兩個連結串列的第一個公共結點
- 兩個有序連結串列序列的交集
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 反轉相鄰連結串列單元
- 【連結串列問題】打卡8:複製含有隨機指標節點的連結串列隨機指標
- [Golang]力扣LeetBook—初級演算法—連結串列—迴文連結串列(快慢指標)Golang力扣演算法指標
- 單連結串列
- LeetCode 複製帶隨機指標的連結串列LeetCode隨機指標
- day4 連結串列-模擬與快慢指標指標
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 劍指 Offer 25. 合併兩個排序的連結串列 JavaScript實現排序JavaScript
- leetcode160 相交連結串列(讓兩個連結串列從同距離末尾同等距離的位置開始遍歷,當較長的連結串列指標指向較短連結串列head時,長度差就消除了)LeetCode指標
- 力扣 - 劍指 Offer 52. 兩個連結串列的第一個公共節點力扣
- 資料結構-單連結串列、雙連結串列資料結構