單鏈表反轉(zhuǎn)python實現(xiàn)代碼示例
單鏈表的反轉(zhuǎn)可以使用循環(huán),也可以使用遞歸的方式
1.循環(huán)反轉(zhuǎn)單鏈表
循環(huán)的方法中,使用pre指向前一個結(jié)點,cur指向當前結(jié)點,每次把cur->next指向pre即可。

代碼:
class ListNode:
def __init__(self,x):
self.val=x;
self.next=None;
def nonrecurse(head): #循環(huán)的方法反轉(zhuǎn)鏈表
if head is None or head.next is None:
return head;
pre=None;
cur=head;
h=head;
while cur:
h=cur;
tmp=cur.next;
cur.next=pre;
pre=cur;
cur=tmp;
return h;
head=ListNode(1); #測試代碼
p1=ListNode(2); #建立鏈表1->2->3->4->None;
p2=ListNode(3);
p3=ListNode(4);
head.next=p1;
p1.next=p2;
p2.next=p3;
p=nonrecurse(head); #輸出鏈表 4->3->2->1->None
while p:
print p.val;
p=p.next;
結(jié)果:
4
3
2
1
>>>
2.遞歸實現(xiàn)單鏈表反轉(zhuǎn)
class ListNode:
def __init__(self,x):
self.val=x;
self.next=None;
def recurse(head,newhead): #遞歸,head為原鏈表的頭結(jié)點,newhead為反轉(zhuǎn)后鏈表的頭結(jié)點
if head is None:
return ;
if head.next is None:
newhead=head;
else :
newhead=recurse(head.next,newhead);
head.next.next=head;
head.next=None;
return newhead;
head=ListNode(1); #測試代碼
p1=ListNode(2); # 建立鏈表1->2->3->4->None
p2=ListNode(3);
p3=ListNode(4);
head.next=p1;
p1.next=p2;
p2.next=p3;
newhead=None;
p=recurse(head,newhead); #輸出鏈表4->3->2->1->None
while p:
print p.val;
p=p.next;
運行結(jié)果同上。
總結(jié)
以上就是本文關(guān)于單鏈表反轉(zhuǎn)python實現(xiàn)代碼示例的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Python pandas 重命名索引和列名稱的實現(xiàn)
本文主要介紹了Python pandas 重命名索引和列名稱的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
在CMD窗口中調(diào)用python函數(shù)的實現(xiàn)
本文主要介紹了在CMD窗口中調(diào)用python函數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
跟老齊學(xué)Python之玩轉(zhuǎn)字符串(3)
字符串是一個很長的話題,縱然現(xiàn)在開始第三部分,但是也不能完全說盡。因為字符串是自然語言中最復(fù)雜的東西,也是承載功能最多的,計算機高級語言編程,要解決自然語言中的問題,讓自然語言中完成的事情在計算機上完成,所以,也不得不有更多的話題。2014-09-09
使用Python為Excel文件添加預(yù)設(shè)和自定義文檔屬性
向Excel文件添加文檔屬性是專業(yè)地組織和管理電子表格數(shù)據(jù)的關(guān)鍵步驟,這些屬性,如標題、作者、主題和關(guān)鍵詞,增強了文件的元數(shù)據(jù),使得在大型數(shù)據(jù)庫或文件系統(tǒng)中跟蹤變得更加容易,本文將介紹如何使用Python高效地為Excel文件添加文檔屬性,需要的朋友可以參考下2024-05-05

