【Leetcode】之Swap Nodes in Pairs
来源:互联网 发布:剑三 点绛唇捏脸数据 编辑:程序博客网 时间:2024/06/11 05:52
一.问题描述
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.
二.我的解题思路
这种链表的题一向不难解决,在纸上写写画画往往就知道该怎么求解。我是每两个节点进行一次操作,设立了四个指针。这四个指针分别指向,当前节点上一个节点(pri),当前节点(curr),下一个节点(next),下下个节点(tmp)。测试通过的程序如下:
/** * 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 * curr,* next,* tmp,*res,*pri; if(head==NULL) return NULL; if(head->next==NULL) return head; curr=head;next=curr->next; /*first done*/ tmp=next->next; next->next=curr; curr->next=tmp; res=next; pri=curr; curr=curr->next; while(curr!=NULL){ next=curr->next; if(next==NULL) break; if(next->next!=NULL){ tmp=next->next; next->next=curr; curr->next=tmp; curr=curr->next; pri->next=next; pri=next->next; } else{ pri->next=next; next->next=curr; curr->next=NULL; } } return res; }};
0 0
- leetcode之Swap Nodes in Pairs
- LeetCode 之 Swap Nodes in Pairs
- LeetCode之Swap Nodes in Pairs
- LeetCode之Swap Nodes in Pairs
- LeetCode之Swap Nodes in Pairs
- 【LeetCode】之Swap Nodes in Pairs
- 【Leetcode】之Swap Nodes in Pairs
- leetcode之Swap Nodes in Pairs
- leetcode之Swap Nodes in Pairs
- LeetCode之24----Swap Nodes in Pairs
- Leetcode 之 Swap Nodes in Pairs
- LeetCode:Swap Nodes in Pairs
- LeetCode: Swap Nodes in Pairs
- [Leetcode] Swap Nodes in Pairs
- LeetCode : Swap Nodes in Pairs
- [LeetCode] Swap Nodes in Pairs
- Leetcode: Swap nodes in pairs
- [LeetCode]Swap Nodes in Pairs
- yum install killall pstree
- 关于main和_tmain和wmain的区别
- Canvas的各种方法大集合
- ios 的 nonatomic属性nonatomic
- Android自定义View
- 【Leetcode】之Swap Nodes in Pairs
- 被误解的MVC
- 浅谈Thread和Runnable
- 信息检索对程序员真重要
- 软件测试相关术语定义《全程软件测试》
- javac 可以生成Java文件,但是找不到,或者无法加载主类
- Java中泛型类和方法
- 欢迎使用CSDN-markdown编辑器
- 80x86标志位相关