本文基于各個大佬的文章
上點關注下點贊,明天一定更燦爛!
前言
????????Python基礎好像會了又好像沒會,所有我直接開始刷leetcode一邊抄樣例代碼一邊學習吧。本系列文章用來記錄學習中的思考,寫給自己看的,也歡迎大家在評論區指導~
????????您的每一條評論都會讓我更有學習的動力。
一、分析題目
二、思路以及代碼
剛才的題目是反轉鏈表,現在是判斷是否為回文結構。
回文序列,我們可以想象成把頭尾重疊后沒有不同的元素,所以可以用左右指針(雙指針)來判斷內容是否相同。
class Solution:def isPalindrome(self, head: Optional[ListNode]) -> bool: # 修正方法名vals = []current = head# 將鏈表值存儲到列表中while current:vals.append(current.val)current = current.next# 使用雙指針判斷列表是否為回文left, right = 0, len(vals) - 1while left < right:if vals[left] != vals[right]:return Falseleft += 1right -= 1return True
三、本題收獲
我覺得這個題目比上一個反轉好理解多了
總結
? ? ? ? 只會打暴力,基礎一團糟,明天再學吧老鐵,別真學會了。