链表 - 单向链表反转

反转一个单链表。
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

var reverseList = function(head) {
    let p = head;
    if(p == null) return null;
    while(p.next != null){
        let q = p.next;
        p.next = q.next;
        q.next = head;
        head = q;
    }
    return head
};

图解:

  1. 初始化变量


  2. p.next = q.next
  3. q.next = head
  4. head = q
  5. 第一轮结束


  • 第二轮:3 -> 2 -> 1 -> 4 -> 5
  • 第三轮:4 -> 3 -> 2 -> 1 -> 5
  • 第四轮:5 -> 4 -> 3 -> 2 -> 1
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容