日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

【剑指offer】反转链表,C++实现(链表)

發(fā)布時(shí)間:2025/4/16 c/c++ 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【剑指offer】反转链表,C++实现(链表) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.題目

  • 輸入一個(gè)鏈表的頭結(jié)點(diǎn),首先反轉(zhuǎn)鏈表后,然后輸出鏈表的所有元素(牛客網(wǎng))。
struct ListNode {int val;struct ListNode *next; };

2.思路

# 反轉(zhuǎn)鏈表

  輔助指針:定義三個(gè)用于翻轉(zhuǎn)鏈表的輔助指針和一個(gè)用于表示翻轉(zhuǎn)鏈表頭結(jié)點(diǎn)的指針,node指向當(dāng)前節(jié)點(diǎn)、left指向當(dāng)前節(jié)點(diǎn)的前一個(gè)節(jié)點(diǎn)、right指向當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)、ReverseHead指向翻轉(zhuǎn)鏈表的頭結(jié)點(diǎn)。

  翻轉(zhuǎn)鏈表過(guò)程:循環(huán)翻轉(zhuǎn)鏈表,每次循環(huán)翻轉(zhuǎn)一個(gè)結(jié)點(diǎn)。判斷node是否是最后一個(gè)結(jié)點(diǎn),如果是最后一個(gè)節(jié)點(diǎn),則reverseHead指向node(確定翻轉(zhuǎn)鏈表表頭節(jié)點(diǎn)),然后node指向left(翻轉(zhuǎn)鏈表),退出循環(huán);如果不是最后一個(gè)節(jié)點(diǎn),則node指向left(翻轉(zhuǎn)鏈表),移動(dòng)left和node指針。

# 魯棒性

  • 空鏈表
  • 有一個(gè)節(jié)點(diǎn)的鏈表
  • 有多個(gè)節(jié)點(diǎn)的鏈表

3.code

1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : 6 val(x), next(NULL) { 7 } 8 };*/ 9 class Solution { 10 public: 11 ListNode* ReverseList(ListNode* pHead) 12 { 13 // 反轉(zhuǎn)指針 14 ListNode* pNode=pHead; // 當(dāng)前節(jié)點(diǎn) 15 ListNode* pPrev=nullptr;// 當(dāng)前節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn) 16 ListNode* pNext=nullptr;// 當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn) 17 ListNode* pReverseHead=nullptr;//新鏈表的頭指針 18 19 // 反轉(zhuǎn)鏈表 20 while(pNode!=nullptr) 21 { 22 pNext=pNode->next; // 建立鏈接 23            24 if(pNext==NULL) // 判斷pNode是否是最后一個(gè)節(jié)點(diǎn) 25 pReverseHead=pNode; 26 27 pNode->next=pPrev; // 指針?lè)崔D(zhuǎn) 28 pPrev=pNode; 29 pNode=pNext; 30 } 31 return pReverseHead; 32 } 33 };

??

轉(zhuǎn)載于:https://www.cnblogs.com/wanglei5205/p/8572458.html

總結(jié)

以上是生活随笔為你收集整理的【剑指offer】反转链表,C++实现(链表)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。