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;
    }
};
相关推荐
独自破碎E2 分钟前
【队列】求二叉树的层序遍历
leetcode
Morwit2 分钟前
Qt qml创建c++类的单例对象
开发语言·c++·qt
June`2 分钟前
IO模型全解析:从阻塞到异步(高并发的reactor模型)
linux·服务器·网络·c++
AomanHao8 分钟前
【阅读笔记】Bayer阵列坏点校正-《Adaptive pixel defect correction》
图像处理·笔记·isp·坏点补偿
YxVoyager8 分钟前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
闻缺陷则喜何志丹10 分钟前
【回文 字符串】3677 统计二进制回文数字的数目|2223
c++·算法·字符串·力扣·回文
yewq-cn11 分钟前
Joplin 客户端与服务端
笔记
李余博睿(新疆)12 分钟前
c++分治算法
c++
佑白雪乐15 分钟前
<王道操作系统第1集>1.1.1~1.3.1
笔记
Tisfy17 分钟前
LeetCode 0085.最大矩形:单调栈
算法·leetcode·题解·单调栈