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;
}
相關文章
- 指標和連結串列指標
- Java連結串列指標確實好煩 - 交換連結串列中連續的兩個節點的位置Java指標
- 單連結串列增刪改查(無頭指標)指標
- c語言單向連結串列逆轉實現方法C語言
- 判斷單連結串列是否存在環,判斷兩個連結串列是否相交問題詳解
- leetcode:21. 合併兩個有序連結串列(連結串列,簡單)LeetCode
- (轉發)連結串列新增函式中為什麼要用指向連結串列指標的指標(引用傳參)函式指標
- golang二級指標操作連結串列Golang指標
- 劍指offer——兩個連結串列的第一個公共結點C++C++
- 單連結串列逆置遞迴演算法遞迴演算法
- Linus:利用二級指標刪除單向連結串列指標
- 劍指offer面試17 合併兩個排序的連結串列面試排序
- 【LeetCode連結串列#9】圖解:兩兩交換連結串列節點LeetCode圖解
- 連結串列面試題(七)---合併兩個有序連結串列面試題
- 單連結串列複製你已經會了,如果我們再加個指標...指標
- 演算法單連結串列交換任意兩個元素演算法
- 實現反轉連結串列--遞迴、迭代、雙指標、棧遞迴指標
- 菜鳥圖解簡單連結串列(轉)圖解
- 誰說Java無指標, JAVA連結串列指標也好煩 - Java 指標迴歸Java指標
- BAT 經典演算法筆試題 —— 逆轉單向連結串列BAT演算法筆試
- Java單連結串列反轉圖文詳解Java
- Josephus問題解決方法三(單向迴圈連結串列標識法)
- 連結串列-單連結串列實現
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 劍指offer面試16 反轉連結串列面試
- 實戰資料結構(8)_單連結串列的就地逆置資料結構
- [Golang]力扣LeetBook—初級演算法—連結串列—迴文連結串列(快慢指標)Golang力扣演算法指標
- 【連結串列問題】打卡8:複製含有隨機指標節點的連結串列隨機指標
- 面試 7:快慢指標法玩轉連結串列演算法面試(一)面試指標演算法
- 【LeetCode】【連結串列】劍指 Offer 52. 兩個連結串列的第一個公共節點 思路解析和程式碼LeetCode
- 演算法題:反轉一個單連結串列&判斷連結串列是否有環演算法
- day4 連結串列-模擬與快慢指標指標
- 劍指 Offer 25. 合併兩個排序的連結串列 JavaScript實現排序JavaScript
- 連結串列面試題(二)---連結串列逆序(連結串列反轉)面試題
- 012 通過連結串列學習Rust之持久化單連結串列Rust持久化
- 012 透過連結串列學習Rust之持久化單連結串列Rust持久化
- 【資料結構】連結串列(單連結串列實現+詳解+原碼)資料結構
- 連結串列面試題(十三)---求兩個都不帶環的連結串列相交的結點面試題