摘要:關(guān)于遞歸這里提一兩點遞歸基本有這幾步遞歸的模板,終止條件,遞歸調(diào)用,邏輯處理。
?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神?
?個人主頁:應(yīng)無所住而生其心的博客_府學(xué)路18號車神_CSDN博客
?點贊?評論?收藏 == 養(yǎng)成習(xí)慣(一鍵三連)?
?本系列主要以刷LeetCode(力扣)網(wǎng)站的各類題為標(biāo)準(zhǔn),實現(xiàn)自我能力的提升為目標(biāo)?
?希望大家多多支持?~一起加油 ?
- 專欄《LeetCode天梯》
周二,今天很忙很忙很忙,早上起來就搞報銷,上午改論文,中午開會,下午預(yù)約了牙科,就到了現(xiàn)在晚上七點過,然后刷題,現(xiàn)在開始吧?。?!不能因為忙而中斷了我的堅持,生活不易,還得繼續(xù)。一會兒八點半還有個會議,哎~
每天進步一點點,就已經(jīng)很棒很棒了,堅持堅持,不要太累,拒絕內(nèi)卷,從每日一練開始,每天十分鐘,快樂生活一輩子!疫情依舊反復(fù),大家?guī)Ш每谡职 繼續(xù)繼續(xù),來,今天和車神哥一起來提升自己的Python編程和面試能力吧,刷天梯~
放上我拍的Photo吧!~
每日推薦一首歌:Exile-Alyssa Taylor / Melissa Swift
以下為我的天梯積分規(guī)則:
每日至少一題:一題積分+10分
若多做了一題(或多一種方法解答),則當(dāng)日積分+20分(+10+10)
若做了三道以上,則從第三題開始算+20分(如:做了三道題則積分-10+10+20=40;做了四道題則積分–10+10+20+20=60)
初始分為100分
若差一天沒做題,則扣積分-10分(周六、周日除外注:休息)
堅持?。。?/p>
給你單鏈表的頭節(jié)點 head ,請你反轉(zhuǎn)鏈表,并返回反轉(zhuǎn)后的鏈表。
示例1:
輸入:head = [1,2,3,4,5]
輸出:[5,4,3,2,1]
示例2:
輸入:head = [1,2]
輸出:[2,1]
示例3:
輸入:head = []
輸出:[]
提示:
分析:
首先看到這題干,是不是很熟悉,不就是反轉(zhuǎn)排序嘛,說搞就搞!?。】梢韵氲降挠?strong>遞歸法、迭代法進行反轉(zhuǎn)操作,我們先來實現(xiàn)遞歸,然后再實現(xiàn)迭代。
關(guān)于遞歸這里提一兩點:
遞歸基本有這幾步遞歸的模板,1.終止條件,2.遞歸調(diào)用,3.邏輯處理。
這里引用下大佬的基本思路:
class Solution: def reverseList(self, head: ListNode) -> ListNode: # # 遞歸終止條件:鏈表為空,或者是鏈表沒有尾結(jié)點的時候,直接返回 if head == None or head.next == None: return head next = self.reverseList(head.next) # 保存當(dāng)前節(jié)點的下一個節(jié)點 head.next.next = head # next.next = head head.next = None return next
雙鏈表求解是把原鏈表的結(jié)點一個個摘掉,每次摘掉的鏈表都讓他成為新的鏈表的頭結(jié)點,然后更新新鏈表。
再次借用下大佬的圖片
直接上代碼了吧就!
class Solution: def reverseList(self, head: ListNode) -> ListNode: # 雙鏈表法 new_link = None while head: # 判斷是否為空字符,如果非空則運行下面的 # 保存當(dāng)前節(jié)點的下一個節(jié)點 next = head.next # 將當(dāng)前節(jié)點指向前一個節(jié)點 head.next = new_link # 上一個節(jié)點指向當(dāng)前節(jié)點,再次循環(huán)中會被當(dāng)成上一個值 new_link = head # 頭節(jié)點指向下一個節(jié)點 head = next return new_link
感覺還行吧!~
加油?。?!
作者:力扣 (LeetCode)
鏈接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnarn7/
來源:力扣(LeetCode)
作者:數(shù)據(jù)結(jié)構(gòu)和算法
鏈接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnnhm6/?discussion=0NDu5u
來源:力扣(LeetCode)
今日得分:+10+10
總得分:520加油?。。?/strong>
?堅持讀Paper,堅持做筆記,堅持學(xué)習(xí),堅持刷力扣LeetCode?!??!
堅持刷題?。?!打天梯!?。?/strong>
?To Be No.1??哈哈哈哈
?創(chuàng)作不易?,過路能?關(guān)注、收藏、點個贊?三連就最好不過了
?( ′???` )
?
『
朝著下一道光芒橫渡大海吧!
』
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/123622.html
摘要:先實現(xiàn)棧操作遍歷鏈表,把每個節(jié)點都進中然后再遍歷鏈表,同時節(jié)點依次出棧,二者進行比較。 ?作者簡介:大家好,我是車神哥,府學(xué)路18號的車神? ?個人主頁:應(yīng)無...
摘要:示例輸入輸出示例輸入輸出示例輸入輸出提示兩個鏈表的節(jié)點數(shù)目范圍是和均按非遞減順序排列遞歸法分析遞歸法,和之前的一樣,還是需要先設(shè)置跳出判斷,這里設(shè)置為空的時候跳出。 ...
摘要:有效二叉搜索樹定義如下節(jié)點的左子樹只包含小于當(dāng)前節(jié)點的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。而我們二叉搜索樹保證了左子樹的節(jié)點的值均小于根節(jié)點的值,根節(jié)點的值均小于右子樹的值,因此中序遍歷以后得到的序列一定是升序序列。 ...
摘要:示例輸入輸出示例輸入輸出示例輸入輸出提示雙指針法分析根據(jù)題干的要求,我們需要刪除倒數(shù)第個節(jié)點,在返回頭結(jié)點。只需要找到倒數(shù)第個節(jié)點,將其刪除,再返回。 ?作者簡...
閱讀 805·2021-11-17 09:33
閱讀 3852·2021-09-01 10:46
閱讀 1843·2019-08-30 11:02
閱讀 3356·2019-08-29 15:05
閱讀 1452·2019-08-26 11:39
閱讀 2356·2019-08-23 17:04
閱讀 2031·2019-08-23 15:43
閱讀 1424·2019-08-23 14:12