日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
刷題系列-用遞歸和遍歷兩個(gè)方法反轉(zhuǎn)一個(gè)單鏈隊(duì)列-創(chuàng)新互聯(lián)

二叉樹(shù)的題目告一段落,后面陸續(xù)做了些基礎(chǔ)的題;感覺(jué)沒(méi)有什么好記錄的。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比元寶山網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式元寶山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋元寶山地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。

這次是一個(gè)非?;A(chǔ)題目用遞歸和遍歷兩個(gè)方法反轉(zhuǎn)一個(gè)單鏈隊(duì)列。如下所示。

Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL

遞歸的方法,考慮了下其實(shí)方法很多,我想了比較簡(jiǎn)單的,就是取出第一個(gè)節(jié)點(diǎn),放在后續(xù)節(jié)隊(duì)列的最后,如此循環(huán)遞歸直到只有一個(gè)節(jié)點(diǎn)位置。代碼是很好寫,就是效率太低,提交運(yùn)行時(shí)間1008ms,實(shí)在是,主要每次一個(gè)節(jié)點(diǎn)排序,都要遍歷整條隊(duì)列,其實(shí)應(yīng)該有更好的。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
 
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if head == None or head.next == None:
            return head
        node = self.reverseList(head.next)
        head.next = None
        checknode = node
        while checknode.next != None:
            checknode = checknode.next
        checknode.next = head
        return node

遍歷方法也很簡(jiǎn)單,就是新建一個(gè)隊(duì)列做棧,把單鏈隊(duì)列的按照順序放入,然后反向推出節(jié)點(diǎn),重組隊(duì)列返回即可。提交運(yùn)行時(shí)間34ms, 效率高很多。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
 
class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        if head == None:
            return head
        nodeStack = []
        while head != None:
            nodeStack.append(head)
            head = head.next
        print(len(nodeStack))
        newHead = nodeStack.pop()
        point = newHead
        while nodeStack != []:
            point.next = nodeStack.pop()
            point = point.next
        point.next = None
        return newHead

網(wǎng)站名稱:刷題系列-用遞歸和遍歷兩個(gè)方法反轉(zhuǎn)一個(gè)單鏈隊(duì)列-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://www.dlmjj.cn/article/peggo.html