leetcode反转链表

题目描述

image.png

解题思路

要让1指向null,接着2指向1,3指向2,依次得到结果。
定义cur节点指向链表的第一个节点,定义一个p节点,初始值设为null,定义一个q节点初始值为null。然后让q指向cur.next,让cur.next指向p,p指向cur,cur指向q,最后返回p。

java实现

public class ListNode{
  int val;
  ListNode next;
  ListNode(int x){
    val=x;
  }
}
class Solution{
  public ListNode reverseList(ListNode head){
    ListNode p=null;
    ListNode q=null;
    ListNode cur=head;
    while(cur!=null){
      q=cur.next;
      cur.next=p;
      p=cur;
      cur=q;
    }
    return p;
  }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是数组? 数组简单来说就是将所有的数据排成一排存放在系统分配的一个内存块上,通过使用特定元素的索引作为数组的下...
    启明_b56f阅读 4,547评论 0 0
  • 有头链表(注意:头结点有的地方是全局变量) 初学者学自于大话数据结构,不足及错误的地方请读者提出来,谢谢。 可加 ...
    lxr_阅读 4,294评论 0 2
  • 搞懂单链表常见面试题 Hello 继上次的 搞懂基本排序算法,这个一星期,我总结了,我所学习和思考的单链表基础知识...
    醒着的码者阅读 10,063评论 1 45
  • 题目 反转一个单链表。 示例: 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 方案一: 迭代:...
    依赖糊涂阅读 1,748评论 0 2
  • 黄政凯妈妈阅读 877评论 0 2