zoukankan      html  css  js  c++  java
  • 链表反转

     1 # -*- coding:utf-8 -*-
     2 # class ListNode:
     3 #     def __init__(self, x):
     4 #         self.val = x
     5 #         self.next = None
     6 """pHead指针通过其.next属性将原链表上next_指针前移,pre指针指向反转后的片段,并通过pre指针用反转后的片段接到
    pHead具有一个新节点的片段上来将新节点从原链表片段打断"""
     7 class Solution:
     8     # 返回ListNode
     9     def ReverseList(self, pHead):  #pHead是一个指针(位置),这个指针指向首节点
    的位置,也可以理解为这个指针就是这个节点。这个指针的.next属性就是首节点的.next,也就是指第二个节点。
    10         # write code here
    11         if pHead is None: #(可以理解为单链表就是这个指针)
    12             return pHead
    13         next_ = None
    14         pre = None
    15         while pHead:
    16             next_=pHead.next #将第二个节点加上next_指针
    17             pHead.next=pre   #将第一个通过None值与第二个节点断开,循环时pre是接着反转后的链
    表片段的。
    18             pre = pHead #此时PHead依然是第一个节点,将Pre指针指向pHead指针指向的节点
    19             pHead = next_ #将pHead指针指向next_指针指向的节点
    20         return pre
  • 相关阅读:
    hadoop运行mahout问题解决方法
    在cdh5.1.3中在mapreduce使用hbase
    scala-eclipse
    创建cloudera-cdh5本地yum源
    HttpClient 操作总结
    Java NIO 操作总结
    linux 操作总结
    白话机器学习
    Java(jdk1.7) 陷阱
    Weibo Crawler in Action
  • 原文地址:https://www.cnblogs.com/Henry-ZHAO/p/12725304.html
Copyright © 2011-2022 走看看