24. 两两交换链表中的节点

news/2024/10/20 20:39:56

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例 1:

输入:head = [1,2,3,4]
输出:[2,1,4,3]
示例 2:

输入:head = []
输出:[]
示例 3:

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

解题思路:
1.递归方法实现节点对的交换,首先到达链表的末尾,然后逐步交换回链表的开头

完整代码:/*** 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 {/*** 公共方法交换节点对* 该方法作为对外接口,提供一对节点的交换功能** @param head 链表的头节点* @return 交换后的链表头节点*/public ListNode swapPairs(ListNode head) {return swap(head);}/*** 递归方法实现节点对的交换* 该方法用于递归地交换链表中的每一对节点* 它的工作原理是首先到达链表的末尾,然后逐步交换回链表的开头** @param head 链表的当前头节点* @return 交换后的当前链表的头节点*/public ListNode swap(ListNode head){// 当链表为空或只有一个节点时,不需要交换,直接返回原链表if(head == null || head.next == null){return head;}// 获取当前节点的下一个节点,这是即将交换的节点ListNode next = head.next;// 递归交换后续节点对,并将当前节点连接到交换后链表的末尾head.next = swap(next.next);// 将下一个节点连接到当前节点,完成这一对节点的交换next.next = head;// 返回交换后的链表头节点,即原链表中当前节点的下一个节点return next;}}

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

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

相关文章

Z函数(扩展KMP)

Z函数学习,Z数组和E数组的构建扩展KMP(Z函数) Z数组 简单理解 \(Z[i]\) 表示字符串从i出发,与整体相比有多长的公共前缀 a a a b a a c 7 2 1 0 2 1 0可以先理解马拉车再来看 首先,设置两个类似的东西,关键点 \(c\) 和最右边界 \(r\) ,表示 \(Z[c]\) 是目前所有 \(Z\) 中…

2024北森题库(含答案)

"2024北森题库(含答案)"揭示了这是一份针对教育和考试领域的资源,特别是与北森题库相关的练习题目和解答。北森题库通常指的是由北森公司提供的各类考试模拟题集,涵盖了诸多考试科目,如公务员考试、事业单位招聘、教师资格证考试等。这份资料对于备考者来说是一…

页面下拉刷新事件

启用下拉刷新 配置下拉刷新样式监听页面的下拉刷新事件 停止下拉刷新样式

2024 最新 jetbrains GoLand 2024.1.6 激活(亲测可用)

注意:接下来本文分享免费激活 GoLand 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持) 大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开 这里提示输入激活码,先关闭应用!!!…

2024 最新 jetbrains DataGrip 2024.1.6 激活(亲测可用)

注意:接下来本文分享免费激活 IDEA 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持) 大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开 这里提示输入激活码,先关闭应用!!!2.…

2024 最新 jetbrains WebStorm 2024.1.6 激活(亲测可用)

注意:接下来本文分享免费激活 IDEA 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持) 大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开 这里提示输入激活码,先关闭应用!!!2.…

网站修改公司名称?怎么修改网站密码?

修改公司名称登录后台管理:首先,你需要登录到网站的后台管理系统。通常,这可以通过访问类似 yourwebsite.com/admin 的地址来完成。找到设置选项:登录后,寻找“设置”或“配置”相关的选项。这可能在侧边栏或顶部菜单中。编辑公司信息:在设置页面中,找到与公司信息相关的…

网站模板修改文件?网站模板怎样修改?

网站模板修改文件 修改网站模板文件通常涉及以下几个步骤,具体操作可能会因不同的建站平台或CMS(内容管理系统)而有所不同。以下是通用的步骤: 1. 登录后台管理访问后台:打开浏览器,输入您网站的后台管理地址,通常是类似于 https://yourwebsite.com/admin 的URL。 登录:…