leetcode 题解 || Swap Nodes in Pairs 问题
problem:
Given a linked list, swap every two adjacent nodes and return its head. For example,
Given 1->2->3->4, you should return the list as 2->1->4->3. Your algorithm should use only constant space. You may not modify the values in the list,
only nodes itself can be changed.
在单链表中。每两个结点交换一下位置。单个的不交换
thinking:
(1)这道题在不新建结点的情况下。指向关系复杂。慢慢分析
(2)head是头指针,指向第一个有效结点!
!
!
code:
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode *swapPairs(ListNode *head) {
ListNode *index = head;
ListNode *pre = NULL;
ListNode *tmp = NULL;
ListNode *modify = head;;
int i=0;
if(head==NULL||head->next==NULL)
return head;
while((index!=NULL)&&(index->next!=NULL))
{
i++;
pre=index;
if(i==1)
{
head=pre->next;
index = index->next;
tmp = index->next;
pre->next = tmp;
index->next = pre;
index=tmp;
modify=pre;
}
else
{
index = index->next;
tmp = index->next;
modify->next=pre->next;
pre->next = tmp;
index->next = pre;
index=tmp;
modify=pre; } }
return head;
}
};
leetcode 题解 || Swap Nodes in Pairs 问题的更多相关文章
- 【LeetCode】Swap Nodes in Pairs 链表指针的应用
题目:swap nodes in pairs <span style="font-size:18px;">/** * LeetCode Swap Nodes in Pa ...
- 【LeetCode】Swap Nodes in Pairs 解题报告
Swap Nodes in Pairs [LeetCode] https://leetcode.com/problems/swap-nodes-in-pairs/ Total Accepted: 95 ...
- leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For exa ...
- [LeetCode] 24. Swap Nodes in Pairs ☆☆☆(链表,相邻两节点交换)
Swap Nodes in Pairs 描述 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 示例: 给定 1->2->3->4, 你应该返回 2->1->4 ...
- LeetCode 024 Swap Nodes in Pairs
题目描述:Swap Nodes in Pairs Given a linked list, swap every two adjacent nodes and return its head. For ...
- leetcode 24. Swap Nodes in Pairs(链表)
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- [LeetCode] 24. Swap Nodes in Pairs 成对交换节点
Given a linked list, swap every two adjacent nodes and return its head. You may not modify the value ...
- 【leetcode】Swap Nodes in Pairs (middle)
Given a linked list, swap every two adjacent nodes and return its head. For example,Given 1->2-&g ...
- Java for LeetCode 024 Swap Nodes in Pairs
Given a linked list, swap every two adjacent nodes and return its head. For example, Given 1->2-& ...
- leetcode:Swap Nodes in Pairs
Given a linked list, swap every two adjacent(相邻的) nodes and return its head. For example,Given 1-> ...
随机推荐
- SSM框架+Plupload实现断点续传(Spring+SpringMVC+MyBatis+Plupload)
关于Plupload的介绍,相信它的官网http://www.plupload.com/已经给得很详细了.Plupload的上传原理简单点说,就是将用户选中的文件(可多个)分隔成一个个小块,依次向服务 ...
- Log4j与common-logging
Log4j与common-logging 总网上搜了些Log4j与common-logging的介绍,记录下. 一.Log4j 1.简介 Log4j是Apache的一个开放源代码项目 使用Log4j ...
- Jquery效果代码--(二)
//jQuery 效果- 隐藏和显示.通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: //掩藏效果演示: $(document).ready(fun ...
- Druid :大数据实时处理的开源分布式系统(1)
引言 Druid 是一个快速,近实时的查询海量只读数据的系统.Druid 的目标是可用性要达到100%,即使在部署新代码,或者某些节点 down 机的情况下. Druid 目前支持的单表查询方式和 D ...
- ANDROID_MARS学习笔记_S05_006_距离传感器
import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import ...
- ANDROID_MARS学习笔记_S03_002_设置可见性及扫描蓝牙设备
一.代码 1.xml(1)AndroidManifest.xml <uses-permission android:name="android.permission.BLUETOOTH ...
- android ListView异步加载图片(双缓存)
首先声明,参考博客地址:http://www.iteye.com/topic/685986 对于ListView,相信很多人都很熟悉,因为确实太常见了,所以,做的用户体验更好,就成了我们的追求... ...
- [cocos2d]cocos2d 2.1与ios 6.0
最近把xcode升级到4.5了,ios也编程6.0 mark一下需要修改的地方(针对于cocos2d 2.1版本),虽然都是warning,但是对于强迫症患者来说无法忍受啊~ 修改一 libs-Coc ...
- vs2010创建和使用动态链接库(dll)
本文将创建一个简单的动态链接库,并编写一个应用台控制程序使用该动态链接库,并提出了与实现相关的几个问题,供初学者交流. 本文包含以下内容: 创建动态链接库项目 向动态链接库添加类 创建引用动态链接库的 ...
- Eclipse中添加android sdk javadoc和source
在 javadoc location path中添加file:/D:/Android_SDK/sdk/docs/reference/ 在 source attachment中添加为 Externa ...