首页 > 编程语言 >9.24算法

9.24算法

时间:2023-09-24 12:45:21浏览次数:33  
标签:pre head ListNode 9.24 auto next 链表 算法

反转链表
给你单链表的头节点 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
 

#include <bits/stdc++.h> using namespace std; struct ListNode {     int val;     ListNode *next;     ListNode() : val(0), next(nullptr) {}     ListNode(int x) : val(x), next(nullptr) {}     ListNode(int x, ListNode *next) : val(x), next(next) {} }; ListNode* reverseList(ListNode* head) {     ListNode *pre;     ListNode *tmp;     while(head != nullptr){         tmp = head->next;         head->next = pre;         pre = head;         head = tmp;             }     return pre; }
int main() {     auto a1 = ListNode(1);     auto a2 = ListNode(2);     auto a3 = ListNode(3);     auto a4 = ListNode(4);     auto a5 = ListNode(5);     a1.next = &a2;     a2.next = &a3;     a3.next = &a4;     a4.next = &a5;     reverseList(&a1);     return 0; }   这里要确保pre指针最开始赋值为空

标签:pre,head,ListNode,9.24,auto,next,链表,算法
From: https://www.cnblogs.com/minipython-wldx/p/17725836.html

相关文章

  • 代码随想录算法训练营-动态规划-2|62. 不同路径
    62. 不同路径 1classSolution:2defuniquePaths(self,m:int,n:int)->int:3#创建一个二维列表用于存储唯一路径数4dp=[[0]*nfor_inrange(m)]56#设置第一行和第一列的基本情况7foriinran......
  • 基于Yolov2深度学习网络的车辆检测算法matlab仿真
    1.算法运行效果图预览  2.算法运行软件版本MATLAB2022A 3.算法理论概述        车辆检测是计算机视觉领域中的一个重要问题。它在自动驾驶、智能交通系统、交通监控以及车辆计数等应用场景中起着至关重要的作用。近年来,深度学习在图像识别领域取得了显著的......
  • 算法打卡|Day3 链表part01
    Day3链表part01今日任务●链表理论基础●203.移除链表元素●707.设计链表●206.反转链表[TOC]链表理论基础文章链接:https://programmercarl.com/%E9%93%BE%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html重点:单链表是一种通过指针串联在一起的线性结构,每一......
  • FreeRTOS 中的调度算法
    FreeRTOS中的调度算法01 调度算法概述调度算法的作用:实时系统的调度需求相应时间要求任务优先级资源利用率FreeRTOS调度算法的目标提供可预测的任务调度实现任务的优先级管理最大化系统资源利用率FreeRTOS调度算法的分类:抢占式调度算法 优先级抢占式调度......
  • 算法训练day18 LeetCode 513
    算法训练day18LeetCode513.112.106513.找树左下角的值题目513.找树左下角的值-力扣(LeetCode)题解代码随想录(programmercarl.com)递归方式单独数据存储最大深度,和此深度的结点值递归后要注意回溯classSolution{public:intmaxDepth=INT_MIN;......
  • JavaScript实现排序算法
    目录前言排序算法冒泡排序选择排序插入排序归并排序快速排序计数排序基数排序桶排序前言排序算法是《数据结构与算法》中最基本的算法之一,本篇使用JavaScript语言实现各种常见排序算法。排序算法冒泡排序比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻......
  • 网络拥塞控制算法总结-Chameleon自动调参工具
    快手联合东南大学、清华大学在SIGCOMM'23提交了一篇poster:《Chameleon:AutomaticandAdaptiveTuningforDCQCNParametersinRDMANetworks》,描述了一种可自动调节DCQCN流控参数的工具,企图将复杂、枯燥而又漫长(据文章所属,调参过程可能需要数周)的RDMA调参过程自动化。具体实......
  • 9.23算法
    删除链表的倒数第N个节点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1] 提示:链表中结点的数目为sz1<=sz<=300<=Node......
  • 算法基础之快速排序
    quick_sort方法中如果i=l,j=r会死循环的分析示例代码voidquick_sort(inta[],intl,intr){if(l>=r)return;inti=l,j=r;//此处设置会导致死循环intx=num[(l+r)>>1];while(i<j){while(a[++i]<x);//死循环的地方while(a[--j]>x......
  • 算法基础之高精度总结
    高精度算法分类分类:加、减、乘、除其中加减乘都适用于两个数都是高精度,除法因为除数是高精度的话不好用整除的方法,所以除法时被除数是高精度,除数是整型。高精度加减乘除的异同点加和乘相同点需要从低位到高位处理for(inti=stra.size()-1;i>=0;i--)c.push_back(stra[i......