單鏈表的反轉

2021-10-03 03:35:04 字數 573 閱讀 8201

思路:

1.定義乙個節點

2.遍歷鍊錶,每遍歷一次,把節點拆下,放到新節點的最前端,車輪滾滾。

3.遍歷完畢,把原來的頭結點指向現在反轉後的新鍊錶。

**:

public

static

void

reverselist

(hreonode head)

//定義遍歷臨時變數

hreonode node = head.next;

//臨時節點儲存當前節點的下乙個節點,保證鏈條完整

hreonode temp=null;

//新鍊錶

hreonode reversshead=

newhreonode(0

,"",""

);//遍歷舊鍊錶,把每個節點取出來放在新鍊錶的最前端

//遍歷到最後乙個

while

(node!=null)

//更改新煉表頭結點指向

head.next=reversshead.next;

}

單鏈表反轉

單鏈表反轉,可以用迴圈做,當然也可以遞迴 詳見 include includestruct node 3 1 4 6 2 1 1 3 4 6 2 2 4 1 3 6 2 3 6 4 1 3 2 4 2 6 4 1 3 5 迴圈反轉,即依次改動3個指標值,直到鍊錶反轉完成 比如,上面第 1 行到第 2...

反轉單鏈表

include stdafx.h include include using namespace std struct listnode typedef listnode plistnode typedef plistnode list list creatlist return head void...

單鏈表反轉

想起很早以前某次面試,面試官很嚴肅的要求我現場手寫單鏈表反轉的 哥虎軀一震,心想 不就需要要個臨時變數來記錄位址嗎,用得著這樣煞有介事?雖然在那之前我的確沒寫過這個程式,哈哈哈 當時我草草寫了十來行 面試官不等我完成,就直接拿過去開始問問題。不知道是不是因為抗壓能力不足,在面試官的不斷 盤問 下,哥...