zoukankan      html  css  js  c++  java
  • Leetcode 24. 两两交换链表中的节点

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

    你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

    示例:

    给定 1->2->3->4, 你应该返回 2->1->4->3.

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    class Solution {
    
    public:
        //新增头结点便于操作
        //两个两个直接进行交换
        ListNode* swapPairs(ListNode* head) {
            if (!head || !head->next) return head;
             ListNode * newhead = new ListNode(0,head->next);
             ListNode* p = head, *p_pre = newhead,*q=p->next,*temp;
             while (p && p->next)
             {
                 p->next = q->next;
                 p_pre->next = q;
                 q->next = p;
    
                 p_pre = p;
                 p = p->next;
                if(p) q = p->next;
             }
             return newhead->next;
        }
    };
  • 相关阅读:
    Linux终端以及bash
    初识VIM
    基础命令
    目录结构和命令
    Xshell连接Centos7.5和yum
    Linux的发展史和centos7的安装
    学习方法以及计算机硬件基础
    mysql、MariaDB的简单操作
    yum 软件管理器
    基础面试题
  • 原文地址:https://www.cnblogs.com/lancelee98/p/13224461.html
Copyright © 2011-2022 走看看