1-a. 链表逆序

作者: 编程半岛 | 来源:发表于2018-05-23 20:26 被阅读1次

已知链表头结点指针head,将链表逆序。(不可申请额外空间)

如图:


解题思路:

  1. 依次遍历链表结点,每遍历一个结点即逆置一个结点

  2. 遍历第一个结点:


  3. 遍历第二个结点:


4.遍历第三个结点:

5.遍历第四个结点:


  1. 遍历第五个结点:


具体操作过程:

  1. 备份head->next

  2. 修改head->next

  3. 修改headnew_head

具体代码:

ListNode* reverseList(ListNode* head)
{
    ListNode* new_head = NULL;
    while( head )
     {
          ListNode* head_next = head->next;   // 备份head->next
          head->next = new_head;      // 更新head->next
          new_head = head;            // 移动new->head
           head = head_next;
    }
            return new_head;      
}

完成代码 :

点击跳转

相关文章

  • 1-a. 链表逆序

    已知链表头结点指针head,将链表逆序。(不可申请额外空间) 如图: 解题思路: 依次遍历链表结点,每遍历一个结点...

  • Python 将链表逆序

    说明:链表逆序,是将链表中的单向链表逆序,双向链表逆序和正序都是一样的,所以没有任何意义。 代码: class N...

  • 2.单链表

    该部分包含以下内容-单链表的增删改查-计算链表长度-逆序链表-寻找(删除)链表倒数第K个元素-逆序打印链表(使用栈)

  • LeetCode 2. Add Two Numbers

    单链表逆序相加

  • 链表逆序

    定义ListNode节点结构体 例题:链表链接 LeetCode 206. Reverse Linked Lis...

  • 链表逆序

    -(void)reverse(node *head) { node*per,; node *current = h...

  • 链表逆序

    链表逆序 1.基础 链表是一种递归的数据结构,它或者为空,或者是指向一个结点(node)的引用,该结点含有一个泛型...

  • 链表逆序

    如A->B->C->D->E 思路一: 先取出链表的最后一个E,然后将E作为新链表的头, 现在状态为 原始链表:A...

  • 链表逆序

    面试中有的时候会让我们写一个简单单链表逆序。 我们遍历链表从头结点,一直遍历到尾节点。例如从头至尾分别是1,2,3...

  • 链表

    模板 多次删除 逆序(反向)链表

网友评论

    本文标题:1-a. 链表逆序

    本文链接:https://www.haomeiwen.com/subject/decdjftx.html