zoukankan      html  css  js  c++  java
  • 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;
        }
    };


  • 相关阅读:
    flutter 反序列化
    系统架构师-系统开发基础
    java Lambda表达式
    java异常
    HTTP缓存了解(一)
    设计模式(一):策略模式
    配置自己的ubuntu
    正则表达式:贪婪与非贪婪
    .htaccess文件
    mysql协议简析
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5333555.html
Copyright © 2011-2022 走看看