1721. 交换链表中的节点-仅遍历一次链表-考研满分答案

news2024/11/24 23:10:54

1721. 交换链表中的节点-仅遍历一次链表

给你链表的头节点 head 和一个整数 k 。

交换 链表正数第 k 个节点和倒数第 k 个节点的值后,返回链表的头节点(链表 从 1 开始索引)。

示例 1:
在这里插入图片描述

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

示例 2:

输入:head = [7,9,6,6,7,8,3,0,9,5], k = 5
输出:[7,9,6,6,8,7,3,0,9,5]

示例 3:

输入:head = [1], k = 1
输出:[1]

示例 4:

输入:head = [1,2], k = 1
输出:[2,1]

示例 5:

输入:head = [1,2,3], k = 2
输出:[1,2,3]

这是个考研题,解题代码如下:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */


struct ListNode* swapNodes(struct ListNode* head, int k){
    struct ListNode* start=NULL;
    struct ListNode  *end=NULL,*p=head,*tail=NULL;
    int now_po=1;
    if(k==1){
         start=p;

    }
    while(p){
        p=p->next;
          now_po++;
         if(now_po==k){
            start=p;
          
        }
       
       
        if(now_po==k+1){
            tail=head;
          
        }
          

        if(now_po>k+1){
            tail=tail->next;

        }
       

    }
    if(tail&&start){
        int t=start->val;
    start->val=tail->val;
    tail->val=t;

    }
    
    return head;




}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/43142.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第1关:Hbase数据库的安装

在安装HBase之前你需要先安装Hadoop和Zookeeper,如果你还没有安装可以通过这两个实训来学习:Hadoop安装与配置,Zookeeper安装与配置。 本次实训的环境已经默认安装好了Hadoop,接下来我们就开始安装配置HBase吧。 HBase安装 HBas…

浙大MPA常规批复试上岸经验分享

在经历笔试和面试的备考后,去年终于来到了复试环节,好在通过自己的不懈努力和不放松的精神,最终成功上岸,现在把个人的备考经验做整理为大家做个参考! 一、复试前准备:在正式复试前建议一定要对浙大MPA项目…

【综合评价分析】topsis评价 原理+完整MATLAB代码+详细注释+操作实列

【综合评价分析】topsis评价 原理完整MATLAB代码详细注释操作实列 文章目录 1、TOPSIS法的原理 2、TOPSIS法案例分析 3.建立模型并求解 3.1数据预处理 3.2代码实现数据预处理 3.3 本案例中数据预处理的运用 4.计算距离和评价指标 4.1 代码 4.2 运行结果 5.总结 1、T…

基于Jsp的OA企业人事管理系统【论文、数据库设计、源码、开题报告】

数据库脚本下载地址: https://download.csdn.net/download/itrjxxs_com/86500769 主要使用技术 SpringspringMVCmybatisjspccsjsMysqlTomcat 功能介绍 部门管理:支持对部门信息(部门名称、部门类型、电话、传真、描述、上级部门&#xff…

外卖项目(项目优化1)10---缓存优化

优化前面已经创建好的项目:将一些问题进行优化处理。本节主要解决是下面的问题。 前面的的项目,是将短信验证码等数据缓存到session中,该部分进行优化后,是将数据内容缓存到Redis中。 目录 一、使用git管理代码(对ID…

Guava环境设置

Guava本地环境设置 这部分指导如何下载和设置Java在机器上。请按照以下步骤来设置环境。 Java SE免费提供链接:下载Java。所以,根据操作系统下载对应版本。 按照说明下载java和运行.exe 在机器上,并按说明安装Java。一旦机器上安装了Java&…

Leetcode原题电话号码的字母组合的两种解法【BFS-DFS】

来源:LeetCode 第17题【公众号:数据结构和算法】 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。答案可以按任意顺序返回。给出数字到字母的映射如下(与电话按键相同)。注意1不对应任何字母。 示例1&am…

浅析分布式数据库

前言 随着信息技术的迅猛发展,各行各业产生的数据量呈爆炸式增长,传统集中式数据库的局限性在面对大规模数据处理中逐渐显露,从而分布式数据库应运而生。分布式数据库是在集中式数据库的基础上发展起来的,是分布式系统与传统数据…

java刷题day 06

一. 单选题: 解析:最终类也叫密封类,是被final修饰的类,不能被继承 解析: A:6入,5 入,5出,4入,4出,3入,3出,6出&#xff0…

SpringBoot 封装 HBase 操作工具类

最近项目中用到了Hbase相关的操作并封装成工具类&#xff0c;我的Hbase服务器端版本是2.1.0&#xff0c;图示如下&#xff1a; 特此记录便于日后查阅。 一、pom.xml 依赖 <dependency><groupId>org.apache.hbase</groupId><artifactId>hbase-shaded-…

【C++】快速入门list的使用

文章目录一、引入二、构造三、迭代器四、增删查五、其他操作一、引入 list的本质是带头双向循环链表&#xff0c;对于带头双向循环链表我们可是比较熟悉的了。本文只对list的一些常用接口进行说明&#xff0c;对于其他一些接口可自行查看文档。 二、构造 void Test() {list<…

Simple Black-box Adversarial Attacks

Abstract 我们提出了一种有趣的简单方法&#xff0c;用于在黑盒环境中构建对抗性图像。 与白盒场景相比&#xff0c;构建黑盒对抗图像对查询预算有额外的限制&#xff0c;而有效的攻击至今仍是一个悬而未决的问题。 仅在连续值置信分数的温和假设下&#xff0c;我们的高效查询…

2022 计网复习简答题【太原理工大学】

考虑到在此期间&#xff0c;我可能也会发表一些与考试不相关的博文&#xff0c;为了避免大家错过考试相关内容&#xff0c;我特意弄了一个专栏《期末复习汇总》&#xff0c;大家以后可以直接到专栏里面去寻找期末复习资料。这里是计算机网络考试简答题总结&#xff0c;其余题型…

资本+商业模式+中国制造的出海跨境电商,走向世界!(Starday)

近年&#xff0c;伴随着新冠疫情的爆发&#xff0c;海外的社交隔离以及中国面对境外入关者的严格隔离政策都给中国投资者的出海投资踩下了刹车&#xff0c;出国考察及尽调都分外的艰难。但也因为这样的国际局势&#xff0c;跨境电商服务行业在海外疫情的催化下&#xff0c;中国…

PyTorch学习笔记-Non-linear Activations与Linear Layers

1. Non-linear Activations 非线性激活函数官方文档&#xff1a;Non-linear Activations。 有深度学习基础的同学应该知道最常用的非线性激活函数就是 ReLU 和 Sigmoid 函数&#xff0c;多分类问题会在输出层使用 Softmax 函数。这三个函数在 PyTorch 中分别为 nn.ReLU、nn.S…

推特自动发帖,快速提升人气

Twitter一直是所有类型企业和品牌的极其宝贵的营销工具。如果使用得当&#xff0c;它本身就能成为一种高效的营销工具。Twitter与其他社交媒体渠道&#xff0c;在营销策略以及工作方式方面略有不同&#xff0c;在品牌营销方面与利用Twitter做推广&#xff0c;就意味着随着您的动…

NNDL 作业10:第六章课后题(LSTM | GRU)

文章目录习题6-3 当使用公式(6.50)作为循环神经网络得状态更新公式时&#xff0c;分析其可能存在梯度爆炸的原因并给出解决办法.习题6-4 推导LSTM网络中参数的梯度&#xff0c;并分析其避免梯度消失的效果习题6-5 推导GRU网络中参数的梯度&#xff0c;并分析其避免梯度消失的效…

[附源码]Python计算机毕业设计Django餐馆点餐管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Apple ID 登录

Apple登录可以看做第三方登录的一种&#xff0c;即使用Apple ID登录&#xff0c;前提是你已经有了苹果开发者账号&#xff0c;直接进入主题吧。 添加App IDs 填写Bundle ID 勾选“Sign In with Apple” 创建Key 苹果将使用公钥/私钥对作为OAuth客户端机密&#xff0c;其中客…

【mongodb】重新整理mongodb中的各种操作

目录前言初始化封装基础方法增&#xff1a;向集合内添加一个文档增&#xff1a;向集合内一次添加多条文档删&#xff1a;删除一条文档删&#xff1a;删除多条文档删&#xff1a;清空某个集合的所有文档查&#xff1a;查询符合条件的文档查询某个集合内所有文档&#xff1a;定位…