输入一个链表,反转链表后,输出新链表的表头。python

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:
    # 返回ListNode
    def ReverseList(self, pHead):
        # write code here
        head = pHead
        if head == None:
            return None
        if head.next == None:
            return head
        if head.next.next == None:
            head02 = head.next             #head02为新链表的头指针
            head.next.next = head
            head.next = None
            return head02
        else:
            pre = head                          #pre为原链表的位置指针
            while pre.next != None:
                if pre.next.next == None:
                    head02 = pre.next
                    pre.next = None           
                else:
                    pre = pre.next
            pre = head
            pre02 = head02                      #pre02为新链表的位置指针
            while  pre.next != None:
                if pre.next.next == None:
                    pre02.next = pre.next
                    pre.next = None
                    pre02 = pre02.next
                    pre = head
                else:
                    pre = pre.next
            pre02.next = head
            return head02
    
                    
                
                
                
                
                    
                    
                    
                    
            
            
            
        
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值