力扣--LCR 141.训练计划III

题目

给定一个头节点为 head 的单链表用于记录一系列核心肌群训练编号,请将该系列训练编号 倒序 记录于链表并返回。

示例 1:

输入:head = [1,2,3,4,5]

输出:[5,4,3,2,1]

示例 2:

输入:head = [1,2]

输出:[2,1]

示例 3:

输入:head = []

输出:[]

提示:

链表中节点的数目范围是 [0, 5000]
-5000 <= Node.val <= 5000

代码

/**

  • Definition for singly-linked list.

  • public class ListNode {

  int val;
  ListNode next;
  ListNode() {}
  ListNode(int val) { this.val = val; }
  ListNode(int val, ListNode next) { this.val = val; this.next = next; }
  • }

    */

    class Solution {

    public ListNode trainningPlan(ListNode head) {

    if(headnull||head.nextnull){

    return head;

    }

    ListNode cur = head, pre = null;

     while(cur != null){
         ListNode temp = cur.next;
         cur.next = pre;
         pre = cur;
         cur = temp;
     }
    
     return pre;
    

    }

    }

    时间复杂度:O(N)

    额外空间复杂度 O(1)

递归

// 递归

public ListNode reverseList(ListNode head) {

if(head == null || head.next == null){

return head;

}

// 反转子链表

ListNode temp = reverseList(head.next);

head.next.next = head;

head.next = null;

    return temp;
}

时间复杂度:O(N)

额外空间复杂度 O(n),递归调用需要消耗栈空间

相关推荐
软件测试雪儿9 分钟前
14:00面试,15:00就出来了,问的问题过于变态了。。。
软件测试·面试·职场和发展
勤劳的进取家1 小时前
如何构建多层决策树
人工智能·算法·机器学习
武昌库里写JAVA2 小时前
Redis 笔记(二)-Redis 安装及测试
数据结构·vue.js·spring boot·算法·课程设计
m0_694938012 小时前
Leetcode打卡:不含特殊楼层的最大连续楼层数
算法·leetcode·职场和发展
DogDaoDao2 小时前
leetcode 面试经典 150 题:字母异位词分组
算法·leetcode·面试·vector·哈希表·数据结构与算法·字母异位词分组
tt5555555555552 小时前
每日一题-两个链表的第一个公共结点
数据结构·算法·链表
jiayoushijie-泽宣3 小时前
VITA-1.5接近GPT4o水平的多模态模型:理解和跑通这套多模态实时交互系统
人工智能·算法·交互
Smark.3 小时前
(leetcode算法题)769. 最多能完成排序的块
算法·leetcode
Gpluso_od3 小时前
LeetCode -Hot100 - 73. 矩阵置零
算法·leetcode·矩阵
敲键盘的喵3 小时前
算法专题 —— 滑动窗口
算法