资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

leetCode24.SwapNodesinPairs链表

24. Swap Nodes in Pairs

创新互联建站专注于信州企业网站建设,成都响应式网站建设公司,商城建设。信州网站建设公司,为信州等地区提供建站服务。全流程按需求定制开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

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.

题目大意:

交换每两个节点的位置。

代码如下:

/**
 * 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* left,*right,*pre,*p;
        pre = NULL;//记录每两个节点前面的那个节点
        p = head;
        while(p !=NULL && p->next != NULL)
        {
            left = p;
            right = p->next;
            
            left->next = right->next;
            right->next = left;
            
            if(pre != NULL)
            {
                pre->next = right;
            }
            else//链表的头两个节点交换位置
            {
                head = right;
            }
            pre = left;
            p = left->next;
        }
        return head;
    }
};

2016-08-12 23:51:00


网页标题:leetCode24.SwapNodesinPairs链表
当前地址:http://www.cdkjz.cn/article/gjodhc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220