TAT 递归的好难写啊。。先po iterately的
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if (head is None) or (head.next is None):
return head
p1 = head
p2 = head.next
p3 = p2.next
head.next = None
while p3 != None:
p2.next = p1
p1 = p2
p2 = p3
p3 = p3.next
p2.next = p1
return p2
if 判断一开始没写,卡了好久。 噢 然后while循环的结束条件有点不优雅,还是勉强补了个p2.next = p1 。//这句开始忘写了也跪好几次。。。
递归真的好难写啊啊啊 啊。看了discussion里的一个c++答案。嗯 。再复现一下吧。。。。(此刻都快背出答案来了)
噢对了。 【递归】函数可以重新另外写啊蠢孩子。&& 关于要循环迭递归的输入变量&& 一直return 递归结果的 程序 真是好无力啊。。。