反转单链表

反转单链表

问题

这个题目说的是,给你一个单链表,你需要反转它,然后返回。

比如说给你的单链表是:

1 -> 2 -> 3 -> 4 -> 5 -> null

你要返回的反转后的链表是:

5 -> 4 -> 3 -> 2 -> 1 -> null

代码

public class AlgoCasts {

  public class ListNode {
    int val;
    ListNode next;

    ListNode(int x) {
      val = x;
    }
  }

  // Time: O(n), Space: O(1)
  public ListNode reverseList(ListNode head) {
    ListNode cur = head, pre = null;
    while (cur != null) {
      ListNode next = cur.next;
      cur.next = pre;
      pre = cur;
      cur = next;
    }
    return pre;
  }

}

  转载请注明: ForwardXu 反转单链表

 上一篇
分布式 分布式
分布式 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 本地消息表 2PC 三、CAP 一致性 可用性 分区容忍性 权衡 四
2018-12-24
下一篇 
系统设计基础 系统设计基础
系统设计基础 一、性能 二、伸缩性 三、扩展性 四、可用性 五、安全性 参考资料 一、性能性能指标1. 响应时间指某个请求从发出到接收到响应消耗的时间。 在对响应时间进行测试时,通常采用重复请求方式,然后计算平均响应时间。 2. 吞吐量指
2018-12-24
  目录