zoukankan      html  css  js  c++  java
  • 剑指offer反转链表python

    题目描述

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

    思路

    定义三个指针,pHead, cur,forward

    反转的时候,cur.next指向pHead,然后三个指针依次向后移动,具体过程看代码。

    代码

    # -*- 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
            if not pHead or not pHead.next:
                return pHead
            current = pHead.next
            forward = current.next
            pHead.next = None
            while current:
                current.next = pHead
                pHead = current
                current = forward
                if forward:
                    forward = forward.next
            return pHead
  • 相关阅读:
    jps命令
    Collection
    java.lang包中异常
    final关键字
    JVM运行时数据区域
    String详解
    哈希码
    Java虚拟机
    垃圾收集器与内存分配策略
    solr简介
  • 原文地址:https://www.cnblogs.com/wangzhihang/p/11790769.html
Copyright © 2011-2022 走看看