力扣206. 反转链表

Problem: 206. 反转链表

题目描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述

思路

迭代写法:

1.定义前驱节点pre初始指向null,指针cur指向head;
2.遍历链表(退出条件是cur为空):

2.1.定义一个nextP指针指向当前节点的下一个节点;
2.2.让cur的next指针指向pre指针;
2.3.使pre指向cur指针;
2.4.使cur指针指向nextP指针,并最后返回pre指针

递归写法:

(具体实现看代码实际操作!!!)由于我么需要翻转单链表,所以我们用递归去实现则需要在的过程中去实现翻转操作

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为链表的长度

空间复杂度:

O ( n ) O(n) O(n)

Code

/**
 class Solution {
public:
    /**
     * Iteration
     *
     * @param head The head node of linked list
     * @return ListNode*
     */
    ListNode* reverseList(ListNode* head) {
        if (head == nullptr) {
            return nullptr;
        }
        ListNode* pre = nullptr;
        ListNode* cur = head;
        while (cur != nullptr) {
            ListNode* nextP = cur -> next;
            cur -> next = pre;
            pre = cur;
            cur = nextP;
        }
        return pre;
    }
};
class Solution {
public:
    /**
     * Recursion
     *
     * @param head The head node of linked list
     * @return ListNode*
     */
    ListNode* reverseList(ListNode* head) {
        if (head == nullptr || head -> next == nullptr) {
            return head;
        }
        ListNode* res = reverseList(head -> next);
        head -> next -> next = head;
        head -> next = nullptr;
        return res;
    }
};

相关推荐

  1. 206-

    2024-03-31 01:24:01       35 阅读
  2. 206 C++题解(+头插法)

    2024-03-31 01:24:01       32 阅读
  3. 综合(

    2024-03-31 01:24:01       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-31 01:24:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-31 01:24:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-31 01:24:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-31 01:24:01       18 阅读

热门阅读

  1. kubernetes(K8S)学习(八):K8S之常见部署方案

    2024-03-31 01:24:01       19 阅读
  2. PreparedStatement对象

    2024-03-31 01:24:01       16 阅读
  3. Acwing 1238.日志统计 双指针

    2024-03-31 01:24:01       17 阅读
  4. 对象数组与指针与引用

    2024-03-31 01:24:01       19 阅读
  5. css之flex布局文本不换行不显示省略号的解决方法

    2024-03-31 01:24:01       18 阅读
  6. 09、Lua 运算符

    2024-03-31 01:24:01       16 阅读
  7. SpringMVC源码分析(六)--参数名称解析器

    2024-03-31 01:24:01       18 阅读
  8. Web框架开发-Django-form组件

    2024-03-31 01:24:01       19 阅读