2->3->4->5->NULL,m=2,n=4輸出:1->4->3->2->5->NULL2.思路題目要求一趟遍歷。處理鏈表的題,一般會(huì)生成一個(gè)dummyNode,使得dummyNode指向鏈表的頭結(jié)點(diǎn)。另外需要先定位到要反轉(zhuǎn)鏈表的開(kāi)始節(jié)點(diǎn),并標(biāo)記開(kāi)始節(jié)點(diǎn)的前一節(jié)點(diǎn),使得在翻轉(zhuǎn)的過(guò)程中,始終能找到這一節(jié)點(diǎn)。假設(shè)要反轉(zhuǎn)的鏈表段如下:1—>2—>3翻轉(zhuǎn)過(guò)" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

LeetCode:翻轉(zhuǎn)鏈表||(python)

系統(tǒng) 2007 0

1. 題目描述

反轉(zhuǎn)從位置 m 到 n 的鏈表。請(qǐng)使用一趟掃描完成反轉(zhuǎn)。

說(shuō)明:
1 ≤ m ≤ n ≤ 鏈表長(zhǎng)度。

示例:

            
              輸入: 1->2->3->4->5->NULL, m = 2, n = 4
輸出: 1->4->3->2->5->NULL

            
          

2. 思路

題目要求一趟遍歷。處理鏈表的題,一般會(huì)生成一個(gè)dummy Node,使得dummy Node指向鏈表的頭結(jié)點(diǎn)。另外需要先定位到要反轉(zhuǎn)鏈表的開(kāi)始節(jié)點(diǎn),并標(biāo)記開(kāi)始節(jié)點(diǎn)的前一節(jié)點(diǎn),使得在翻轉(zhuǎn)的過(guò)程中,始終能找到這一節(jié)點(diǎn)。

            
              假設(shè)要反轉(zhuǎn)的鏈表段如下:1—>2—>3
翻轉(zhuǎn)過(guò)程如下:
pre—>1—>2—>3
pre—>2—>1—>3
pre—>3—>2—>1

            
          

2.1 代碼:

            
              
                class
              
              
                Solution
              
              
                :
              
              
                def
              
              
                reverseBetween
              
              
                (
              
              self
              
                ,
              
               head
              
                :
              
               ListNode
              
                ,
              
               m
              
                :
              
              
                int
              
              
                ,
              
               n
              
                :
              
              
                int
              
              
                )
              
              
                -
              
              
                >
              
               ListNode
              
                :
              
              
        dummyNode 
              
                =
              
               ListNode
              
                (
              
              
                -
              
              
                1
              
              
                )
              
              
                # 先生成一個(gè)dummy節(jié)點(diǎn)
              
              
        dummyNode
              
                .
              
              
                next
              
              
                =
              
               head
        pre 
              
                =
              
               dummyNode
        
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              m
              
                -
              
              
                1
              
              
                )
              
              
                :
              
              
            pre 
              
                =
              
               pre
              
                .
              
              
                next
              
              
                # 定位到開(kāi)始翻轉(zhuǎn)鏈表的之前一個(gè)節(jié)點(diǎn)
              
              
        cur 
              
                =
              
               pre
              
                .
              
              
                next
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              m
              
                ,
              
              n
              
                )
              
              
                :
              
              
                # 開(kāi)始反轉(zhuǎn)
              
              
            temp 
              
                =
              
               cur
              
                .
              
              
                next
              
              
            cur
              
                .
              
              
                next
              
              
                =
              
                temp
              
                .
              
              
                next
              
              
            temp
              
                .
              
              
                next
              
              
                =
              
               pre
              
                .
              
              
                next
              
              
            pre
              
                .
              
              
                next
              
              
                =
              
               temp
        
              
                return
              
               dummyNode
              
                .
              
              
                next
              
            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 溆浦县| 肥乡县| 廉江市| 伊金霍洛旗| 威海市| 久治县| 搜索| 壶关县| 鄂托克前旗| 南投市| 太谷县| 郁南县| 育儿| 孝昌县| 东乌珠穆沁旗| 德安县| 旬阳县| 新疆| 康定县| 峨山| 兴宁市| 河曲县| 同江市| 左权县| 闻喜县| 鸡西市| 和平县| 南丰县| 合山市| 乐平市| 荆门市| 渑池县| 涿州市| 高台县| 乌恰县| 灵川县| 高平市| 鄄城县| 专栏| 张家港市| 黑龙江省|