24.两两交换链表中的节点
24. 两两交换链表中的节点
方法一:迭代,虚拟头结点
class Solution {public ListNode swapPairs(ListNode head) {ListNode dummyNode = new ListNode(0);dummyNode.next = head;ListNode prev = dummyNode;while(prev.next != null && prev.next.next != null){ListNode temp = head.next.next; //缓存nextprev.next = head.next; //将prev的next改为head的nexthead.next.next = head; //将head.next(prev.next)的next,指向headhead.next = temp; //将head的next接上缓存的tempprev = head; //步进1位head = head.next; //步进1位}return dummyNode.next;}
}
方法二:1.递归
class Solution {public ListNode swapPairs(ListNode head) {if (head == null || head.next == null) {return head;}ListNode one = head;ListNode two = one.next;ListNode three = two.next;two.next = one;one.next = swapPairs(three);return two;}
}
方法二:2.递归
class Solution {public ListNode swapPairs(ListNode head) {// base case 退出提交if(head == null || head.next == null){return head;}// 获取当前结点的下一个节点ListNode next = head.next;// 进行递归ListNode newNode = swapPairs(next.next);// 这里进行交换next.next = head;head.next = newNode;return next;}
}
24.两两交换链表中的节点相关推荐
- LeetCode-链表-24. 两两交换链表中的节点
24. 两两交换链表中的节点 思路:使用一个头节点,然后用cur指针指向头 /*** Definition for singly-linked list.* struct ListNode {* in ...
- Leetcode(24)——两两交换链表中的节点
Leetcode(24)--两两交换链表中的节点 题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: ...
- LeetCode 24.两两交换链表中的节点 C语言
题目 24.两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3- ...
- LeedCode 24:两两交换链表中的节点
两两交换链表中的节点 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 链接: 24. 两两交换链表中的 ...
- 24. 两两交换链表中的节点
24. 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 示例 1: 输入:head = [1 ...
- Java实现 LeetCode 24 两两交换链表中的节点
24. 两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换. 示例: 给定 1->2->3-&g ...
- LeetCode 24:两两交换链表中的节点、1662. 检查两个字符串数组是否相等
今天一道是单链表一道是String类的 一:LeetCode 24:两两交换链表中的节点 先来看一下题目信息 索引 题目意思就是把一个链表中的两两节点进行交换,题目给的例子是4个节点,是偶数个,两两节 ...
- LeetCode 23合并K个升序链表24两两交换链表中的节点
维护不易,点赞再看,感谢支持 合并K个升序链表 题目描述 给你一个链表数组,每个链表都已经按升序排列. 请你将所有链表合并到一个升序链表中,返回合并后的链表. 示例 1: 输入:lists = [[1 ...
- 链表——24. 两两交换链表中的节点
1 题目描述 两两交换链表中的节点 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点.你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换). 2 题目示例 示例 2: 输入 ...
最新文章
- 自定义View步骤学习笔记
- 如何优雅地使用pdpipe与Pandas构建管道?
- CTF入门--二进制
- MONGODB 权限认证
- 分布式服务常见问题—访问量统计如何做?
- JDBC 出现references non-existing project XXX, launch configuration问题的解决办法
- 第一次执行时没有问题,重复执行会出错、GP循环
- 转行 AI 成为技术大牛,你需要理解这两项技术!
- 摘录一些介绍Linux DKMS的博客文章
- 【深度优先搜索】记忆化搜索 P1077 摆花
- 测测你的杀毒软件强弱等级吧!!!!!
- HmacSHA256算法实现消息认证
- 【Kaggle Quick, Draw!】涂鸦识别,AI与你同在
- C语言学生档案表设计——作业
- 有10亿个整数,要求选取重复次数最多的100个整数
- 找代做java,代做JAVA程序作业、代写学生信息查询系统、代做JAVA实验
- Linux下修改MTU值
- DEDE织梦网站首页仿制实战操作
- ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)
- Android JNI 编译so库
热门文章
- GlusterFS集群文件系统
- 拓扑排序 Codeforces Round #290 (Div. 2) C. Fox And Names
- Spring Security的HTTP基本验证示例
- 创建虚拟交换机(New-VMSwitch)
- 通过输入方式在Android上进行微博OAuth登录
- MOQL--面向流的统计过滤技术
- 程序员面试金典——7.5平分的直线
- 空卡安装设置树莓派4B并安装opencv+QT
- matlab2016一条命令设置坐标轴标签旋转角度、字体大小和字体!
- 人工神经网络----Hebbian学习规则