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;
    }
};
相关推荐
k要开心8 分钟前
从C到C++语法过度1
开发语言·c++
whoarethenext19 分钟前
使用 C/C++的OpenCV 实时播放火柴人爱心舞蹈动画
c语言·c++·opencv
能工智人小辰33 分钟前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法
岁忧39 分钟前
LeetCode 高频 SQL 50 题(基础版)之 【高级字符串函数 / 正则表达式 / 子句】· 上
sql·算法·leetcode
梦星辰.42 分钟前
VSCode CUDA C++进行Linux远程开发
linux·c++·vscode
普宁彭于晏1 小时前
元素水平垂直居中的方法
前端·css·笔记·css3
whoarethenext1 小时前
C++ OpenCV 学习路线图
c++·opencv·学习
eachin_z1 小时前
力扣刷题(第四十九天)
算法·leetcode·职场和发展
m0_637146932 小时前
计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程
笔记·tcp/ip·计算机网络
闻缺陷则喜何志丹2 小时前
【强连通分量 缩点 拓扑排序】P3387 【模板】缩点|普及+
c++·算法·拓扑排序·洛谷·强连通分量·缩点