LeetCode100-234回文链表
本文基于各个大佬的文章
上点关注下点赞,明天一定更灿烂!
前言
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
三、本题收获
我觉得这个题目比上一个反转好理解多了
总结
只会打暴力,基础一团糟,明天再学吧老铁,别真学会了。