admin 管理员组

文章数量: 887031

牛客

题目

描述
给定一个链表,请判断该链表是否为回文结构。
回文是指该字符串正序逆序完全一致。
数据范围: 链表节点数 0≤n≤10 ,链表中每个节点的值满足 ∣val∣≤10

思路

把链表反转一下,然后用list记录反转前和反转后是不是一样,就可以判断是不是回文链表

代码

python版本:

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param head ListNode类 the head
# @return bool布尔型
#
class Solution:def isPail(self , head: ListNode) -> bool:# write code hereori_val = []shead = headwhile(shead):ori_val.append(shead.val)shead = shead.nextrhead = self.reverse_node(head)reverse_val = []while(rhead):reverse_val.append(rhead.val)rhead = rhead.nextres = Trueif(ori_val != reverse_val):res = Falsereturn resdef reverse_node(self, head: ListNode):pnode = Nonecnode = headwhile(cnode):tmp = cnode.nextcnode.next = pnodepnode = cnodecnode = tmpreturn pnode

c++版本:

本文标签: 牛客