那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

數據結構:判斷鏈表回文結構

嵌入式攻城獅 ? 來源:嵌入式攻城獅 ? 2023-12-01 13:26 ? 次閱讀

給定一個鏈表,判斷該鏈表是否為回文結構。回文是指該字符串正序逆序完全一致。如當輸入鏈表 {1,2,3,2,1} 時,斷定是回文結構,輸出True。

代碼實現

C語言代碼:

boolisPail(structListNode*head){
//writecodehere
if(head==NULL||head->next==NULL)
returntrue;
//第一步:定義快慢指針,并將其指向頭結點
structListNode*slow,*fast;
slow=head;
fast=head;
//第二步:快指針每次走兩步,慢指針走一步
while(fast!=NULL&&fast->next!=NULL){
fast=fast->next->next;
slow=slow->next;
}
//第三步:快指針指向慢指針后繼結點,慢指針斷鏈
fast=slow->next;
slow->next=NULL;

structListNode*p;
p=NULL;
//第四步:反轉后半部分的鏈表
while(fast!=NULL){
p=fast->next;
fast->next=slow;
slow=fast;
fast=p;
}
//第五步:將快指針指向原始鏈表頭部,將快慢指針結點的值進行對比
fast=head;
while(fast!=NULL&&slow!=NULL){
if(fast->val!=slow->val)
returnfalse;
fast=fast->next;
slow=slow->next;
}
returntrue;
}

圖解代碼

第一步:定義快慢指針,并將其指向頭結點

c788a09e-9004-11ee-939d-92fbcf53809c.png

第二步:快指針每次走兩步,慢指針走一步

c791b094-9004-11ee-939d-92fbcf53809c.png

第三步:快指針指向慢指針后繼結點,慢指針斷鏈

c79ed04e-9004-11ee-939d-92fbcf53809c.png

第四步:反轉后半部分的鏈表

c7b471a6-9004-11ee-939d-92fbcf53809c.png

第五步:將快指針指向原始鏈表頭部,將快慢指針結點的值進行對比

c7d285ec-9004-11ee-939d-92fbcf53809c.png

審核編輯:湯梓紅

分享、在看與點贊

只要你點,我們就是胖友

c85fa0bc-9004-11ee-939d-92fbcf53809c.gif

原文標題:數據結構:判斷鏈表回文結構

文章出處:【微信公眾號:嵌入式攻城獅】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7614

    瀏覽量

    137726
  • 代碼
    +關注

    關注

    30

    文章

    4828

    瀏覽量

    69055
  • 數據結構
    +關注

    關注

    3

    文章

    573

    瀏覽量

    40232
  • 鏈表
    +關注

    關注

    0

    文章

    80

    瀏覽量

    10599

原文標題:數據結構:判斷鏈表回文結構

文章出處:【微信號:嵌入式攻城獅,微信公眾號:嵌入式攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數據結構中最簡單的鏈表

    數據結構作為嵌入式工程師必修課程之一,今天,我們就來講一講數據結構中最簡單的鏈表,包含鏈表的初始化、插入和遍歷操作。 鏈表在項目開發中使用的
    發表于 06-13 17:40 ?403次閱讀

    Linux Kernel數據結構:鏈表

    Linux Kernel數據結構鏈表原創 2016年10月20日 22:58:25標簽:LINUX/kernel/鏈表 數據結構數據結構
    發表于 09-25 16:41

    常見的數據結構

    的,那樣對于數據的使用簡直是個悲劇。針對此類數據數據結構提供了圖存儲結構,專門用于存儲這類數據。二、
    發表于 05-10 07:58

    數據結構鏈表的基本操作

    嵌入式學習基礎-數據結構鏈表的基本操作鏈表節點采用結構體的方式進行定義,下面是最基礎的定義只有一個數據data,*pNext用于指向下一個節
    發表于 12-22 08:05

    Linux內核中的數據結構的一點認識

    成員,那么到時候鏈表中沒有任何數據,這樣的鏈表有什么用呢?其實這就是內核鏈表設計的巧妙之處,因為在整個內核中需要使用鏈表來存放的
    發表于 04-20 16:42

    stm32的8位數據結構怎么判斷正負?

    stm32的8位數據結構怎么判斷正負,char變量不能為負,不想用int,我記得51單片機char可以判斷正負
    發表于 09-22 07:15

    算法與數據結構——雙向鏈表

    第三章為算法與數據結構,本文為3.3 雙向鏈表
    的頭像 發表于 09-19 17:56 ?7350次閱讀
    算法與<b class='flag-5'>數據結構</b>——雙向<b class='flag-5'>鏈表</b>

    數據結構是什么_數據結構有什么用

    數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關系的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高
    發表于 11-17 14:45 ?1.6w次閱讀
    <b class='flag-5'>數據結構</b>是什么_<b class='flag-5'>數據結構</b>有什么用

    java數據結構學習

    數據結構是對計算機內存中的數據的一種安排,數據結構包括 數組, 鏈表, 棧, 二叉樹, 哈希表等,算法則對對這些結構中的
    發表于 11-29 09:46 ?812次閱讀

    什么是數據結構?為什么要學習數據結構數據結構的應用實例分析

    本文檔的主要內容詳細介紹的是什么是數據結構?為什么要學習數據結構數據結構的應用實例分析包括了:數據結構在串口通信當中的應用,數據結構在按鍵
    發表于 09-26 15:45 ?14次下載
    什么是<b class='flag-5'>數據結構</b>?為什么要學習<b class='flag-5'>數據結構</b>?<b class='flag-5'>數據結構</b>的應用實例分析

    區塊鏈的基本數據結構解析

    區塊鏈是一種分散式結構的系統,其中鏈表充當事務塊的基本數據結構。關于哪些事務塊應該附加到它的決策是由共識算法決定的。有時,選擇基本數據結構比選擇特定的共識算法對速度、吞吐量、可伸縮性和
    發表于 01-03 14:49 ?7554次閱讀

    你知道Linux內核數據結構中雙向鏈表的作用?

    Linux 內核提供一套雙向鏈表的實現,你可以在 include/linux/list.h 中找到。我們以雙向鏈表著手開始介紹 Linux 內核中的數據結構 ,因為這個是在 Linux 內核中使用最為廣泛的
    發表于 05-14 17:27 ?1894次閱讀

    什么是棧?數據結構中棧如何實現

    今天放松一下,我們來看看數據結構中的棧,這節的知識點可以說是數據結構中最容易上手的知識點了,其實比起鏈表,其實鏈表也有棧和隊列的模型,鏈表
    發表于 04-29 18:25 ?0次下載
    什么是棧?<b class='flag-5'>數據結構</b>中棧如何實現

    Linux內核的鏈表數據結構

    Linux內核實現了自己的鏈表數據結構,它的設計與傳統的方式不同,非常巧妙也很通用。
    的頭像 發表于 03-24 11:34 ?882次閱讀
    Linux內核的<b class='flag-5'>鏈表</b><b class='flag-5'>數據結構</b>

    Linux內核中使用的數據結構

    Linux內核代碼中廣泛使用了數據結構和算法,其中最常用的兩個是鏈表和紅黑樹。 鏈表 Linux內核代碼大量使用了鏈表這種數據結構
    的頭像 發表于 11-09 14:24 ?551次閱讀
    Linux內核中使用的<b class='flag-5'>數據結構</b>
    星港城百家乐官网娱乐城| 威尼斯人娱乐城首选金杯娱乐城| 百家乐官网15人桌子| 大发888游戏免费下载| 百家乐客户端软件| 大发888优惠代码| 怎么玩百家乐能赢钱| 澳门百家乐官网博彩网| 风水做生意房漏水| 百家乐官网在线娱乐网| 鱼台县| 大发888娱乐城外挂| 大发888娱乐场玩什么| 大发888娱乐城官方免费下载| 百家乐押注方法| 百家乐骗局视频| 大发888存款| 新金润娱乐城| TT百家乐官网现金网| 百家乐官网隐者博客| 百家乐官网网上玩法| 网上百家乐官网哪家较安全| 百家乐官网平注法到6568| 百家乐筹码桌布| 太阳城百家乐官网怎样开户| 百家乐官网游戏作弊| 娱乐城百家乐打不开| 乐宝百家乐的玩法技巧和规则| 顶级赌场官方直营网| 百家乐官网软件辅助| 电子百家乐官网破| 百家乐官网庄闲和各| 太阳城百家乐官网投注| 百家乐官网也能赢钱么| 合肥百家乐赌博机| 博发百家乐的玩法技巧和规则 | 百家乐实战路| 大发888娱乐城手机| 百家乐官网路的看法| 送58百家乐官网的玩法技巧和规则 | 百家乐官网双面数字筹码|