摘要:關(guān)于遞歸這里提一兩點(diǎn)遞歸基本有這幾步遞歸的模板,終止條件,遞歸調(diào)用,邏輯處理。
?作者簡(jiǎn)介:大家好,我是車神哥,府學(xué)路18號(hào)的車神?
?個(gè)人主頁(yè):應(yīng)無(wú)所住而生其心的博客_府學(xué)路18號(hào)車神_CSDN博客
?點(diǎn)贊?評(píng)論?收藏 == 養(yǎng)成習(xí)慣(一鍵三連)?
?本系列主要以刷LeetCode(力扣)網(wǎng)站的各類題為標(biāo)準(zhǔn),實(shí)現(xiàn)自我能力的提升為目標(biāo)?
?希望大家多多支持?~一起加油 ?
- 專欄《LeetCode天梯》
周二,今天很忙很忙很忙,早上起來就搞報(bào)銷,上午改論文,中午開會(huì),下午預(yù)約了牙科,就到了現(xiàn)在晚上七點(diǎn)過,然后刷題,現(xiàn)在開始吧?。?!不能因?yàn)槊Χ袛嗔宋业膱?jiān)持,生活不易,還得繼續(xù)。一會(huì)兒八點(diǎn)半還有個(gè)會(huì)議,哎~
每天進(jìn)步一點(diǎn)點(diǎn),就已經(jīng)很棒很棒了,堅(jiān)持堅(jiān)持,不要太累,拒絕內(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分(周六、周日除外注:休息)
堅(jiān)持?。?!
給你單鏈表的頭節(jié)點(diǎn) head ,請(qǐng)你反轉(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>遞歸法、迭代法進(jìn)行反轉(zhuǎn)操作,我們先來實(shí)現(xiàn)遞歸,然后再實(shí)現(xiàn)迭代。
關(guān)于遞歸這里提一兩點(diǎn):
遞歸基本有這幾步遞歸的模板,1.終止條件,2.遞歸調(diào)用,3.邏輯處理。
這里引用下大佬的基本思路:
class Solution: def reverseList(self, head: ListNode) -> ListNode: # # 遞歸終止條件:鏈表為空,或者是鏈表沒有尾結(jié)點(diǎn)的時(shí)候,直接返回 if head == None or head.next == None: return head next = self.reverseList(head.next) # 保存當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn) head.next.next = head # next.next = head head.next = None return next
雙鏈表求解是把原鏈表的結(jié)點(diǎn)一個(gè)個(gè)摘掉,每次摘掉的鏈表都讓他成為新的鏈表的頭結(jié)點(diǎn),然后更新新鏈表。
再次借用下大佬的圖片
直接上代碼了吧就!
class Solution: def reverseList(self, head: ListNode) -> ListNode: # 雙鏈表法 new_link = None while head: # 判斷是否為空字符,如果非空則運(yùn)行下面的 # 保存當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn) next = head.next # 將當(dāng)前節(jié)點(diǎn)指向前一個(gè)節(jié)點(diǎn) head.next = new_link # 上一個(gè)節(jié)點(diǎn)指向當(dāng)前節(jié)點(diǎn),再次循環(huán)中會(huì)被當(dāng)成上一個(gè)值 new_link = head # 頭節(jié)點(diǎn)指向下一個(gè)節(jié)點(diǎn) 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加油?。?!
?堅(jiān)持讀Paper,堅(jiān)持做筆記,堅(jiān)持學(xué)習(xí),堅(jiān)持刷力扣LeetCode??。。?br /> 堅(jiān)持刷題?。?!打天梯?。?!
?To Be No.1??哈哈哈哈
?創(chuàng)作不易?,過路能?關(guān)注、收藏、點(diǎn)個(gè)贊?三連就最好不過了
?( ′???` )
?
『
朝著下一道光芒橫渡大海吧!
』
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/123622.html
摘要:先實(shí)現(xiàn)棧操作遍歷鏈表,把每個(gè)節(jié)點(diǎn)都進(jìn)中然后再遍歷鏈表,同時(shí)節(jié)點(diǎn)依次出棧,二者進(jìn)行比較。 ?作者簡(jiǎn)介:大家好,我是車神哥,府學(xué)路18號(hào)的車神? ?個(gè)人主頁(yè):應(yīng)無(wú)...
摘要:示例輸入輸出示例輸入輸出示例輸入輸出提示兩個(gè)鏈表的節(jié)點(diǎn)數(shù)目范圍是和均按非遞減順序排列遞歸法分析遞歸法,和之前的一樣,還是需要先設(shè)置跳出判斷,這里設(shè)置為空的時(shí)候跳出。 ...
摘要:有效二叉搜索樹定義如下節(jié)點(diǎn)的左子樹只包含小于當(dāng)前節(jié)點(diǎn)的數(shù)。所有左子樹和右子樹自身必須也是二叉搜索樹。而我們二叉搜索樹保證了左子樹的節(jié)點(diǎn)的值均小于根節(jié)點(diǎn)的值,根節(jié)點(diǎn)的值均小于右子樹的值,因此中序遍歷以后得到的序列一定是升序序列。 ...
摘要:示例輸入輸出示例輸入輸出示例輸入輸出提示雙指針法分析根據(jù)題干的要求,我們需要?jiǎng)h除倒數(shù)第個(gè)節(jié)點(diǎn),在返回頭結(jié)點(diǎn)。只需要找到倒數(shù)第個(gè)節(jié)點(diǎn),將其刪除,再返回。 ?作者簡(jiǎn)...
閱讀 740·2021-11-17 09:33
閱讀 3770·2021-09-01 10:46
閱讀 1762·2019-08-30 11:02
閱讀 3290·2019-08-29 15:05
閱讀 1407·2019-08-26 11:39
閱讀 2283·2019-08-23 17:04
閱讀 1981·2019-08-23 15:43
閱讀 1379·2019-08-23 14:12