Leetcode刷题笔记题解(C++):328. 奇偶链表

思路:遍历链表生成奇链表和偶链表,然后拼接两个链表生成新的链表。

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* oddEvenList(ListNode* head) {
        ListNode* pre = new ListNode(-1);
        ListNode* pre_temp = pre;
        ListNode* end = new ListNode(-1);
        ListNode* end_temp = end;
        int i = 1;//用来判断奇偶
        while(head){
            if(i%2==1){
                pre_temp->next = head;
                pre_temp = pre_temp->next;
            }else{
                end_temp->next = head;
                end_temp = end_temp->next;
            }
            i++;
            head = head->next;
        }
        end_temp->next = nullptr;
        pre_temp->next = end->next;
        return pre->next;
    }
};
相关推荐
lion King776几秒前
c++八股:explicit
开发语言·c++
初见无风3 分钟前
4.3 Boost 库工具类 optional 的使用
开发语言·c++·boost
_OP_CHEN3 分钟前
算法基础篇:(五)基础算法之差分——以“空间”换“时间”
c++·算法·acm·icpc·算法竞赛·差分算法·差分与前缀和
yuxb735 分钟前
Python基础(一)
笔记·python
秋风&萧瑟9 分钟前
【C++】智能指针介绍
java·c++·算法
CarmenHu10 分钟前
RAFT微调学习笔记
笔记·学习
QiZhang | UESTC11 分钟前
JAVA算法练习题day67
java·python·学习·算法·leetcode
有梦想的攻城狮13 分钟前
我与C++的一面之缘
开发语言·c++
智者知已应修善业35 分钟前
【c# 想一句话把 List<List<string>>的元素合并成List<string>】2023-2-9
经验分享·笔记·算法·c#·list
d111111111d1 小时前
STM32外设学习--ADC模数转换器--笔记
笔记·stm32·单片机·嵌入式硬件·学习