leedcode——reorder list

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码) 数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994 立即下载
题目:

Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…

You must do this in-place without altering the nodes' values.

For example,

Given{1,2,3,4}, reorder it to{1,4,2,3}.

思路:

(1)用快慢指针寻找中间节点

(2)对后面的链表逆置

(3)将两个链表合并

代码:

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
class Solution {
public:
    ListNode *FindMiddle(ListNode *head){//用快慢指针寻找中间节点(前面比后面长)
        ListNode *slow = head;
		ListNode *quick = head;
		while(quick->next != NULL && quick->next->next != NULL){
			quick = quick->next->next;
			slow = slow->next;
		}
        return slow;
    }
    void reverseList(ListNode* & head){//反转链表
        ListNode *pre = head;//保存第一个结点
        ListNode *p = head->next;//从第二个元素开始,更新它的next指针域
        ListNode *ne = NULL;//保存要修改元素的下一个节点
        while(p != NULL){
            pre->next = p->next;//每次跟新第一个元素的next指针域,最后反转成功后为NULL
            ne = p->next;
            p->next = head;//跟新next指针域,每次指向前一个元素
            head = p;//头指针依次向后移动,最后反转成功指向最后一个元素
            p = ne;
        }
    }
    void MergeList(ListNode *&head,ListNode *& middle){//合并两个链表
        ListNode *p1 = head, *p2 = middle, *temp = NULL;
        while(p2 != NULL){
            temp = p2->next;
            p2->next = p1->next;
            p1->next = p2;
            p2 = temp;
            p1 = p1->next->next;
        }
    }
    void reorderList(ListNode *head) {
        if(head==NULL || head->next==NULL)
            return ;
        ListNode *middle = FindMiddle(head);
        ListNode *p = middle;
        middle = middle->next;
        p->next = NULL;
        reverseList(middle);
        MergeList(head,middle);
    }
};


产业园区如何高效对接企业技术需求与高校科研成果?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Leedcode 删除重复数组元素问题。

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with c

AdrianHust的专栏 944

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Leedcode8-reorder-list

#include<iostream> #include<vector> using namespace std; //Definition for singly-linked list. /*Given a singly linked list L : L 0→L 1→…→L n - 1→L n, reorder it to : L 0→L n →L 1→L n - 1→...

weixin_38383877的博客 149

A Mathematical Framework for Transformer Circuits—(一)

transformer数学理解理论

qq_42208244的博客 2663

【软件介绍】RVC本地部署使用方法

【摘要】RVC是一款功能强大的开源语音转换工具,具有实时处理、多音效选择、高质量音频处理等特点。文章详细介绍了RVC的安装与使用方法:1)配置Python环境;2)根据电脑系统选择对应安装包解压;3)启动程序进入浏览器操作界面。重点讲解了声音克隆的关键步骤:建议使用短音频素材,选择合适训练方法(推荐pm或rmvpe),设置100次训练轮数,生成的模型文件存入weights文件夹。最后通过上传音频即可实现声音克隆。操作过程需注意保持程序运行状态,并提供了相关资源下载地址。

心动的那一刻,记忆便盛开了花 2978

解决WSL2网络隔离:Ubuntu子系统共享Windows代理的3种方法

本文详细解析了WSL2的网络隔离特性,并提供了三种在Ubuntu子系统中共享Windows代理的实用方法:环境变量法、配置文件法和系统服务法。通过具体代码示例和方案对比,帮助开发者快速解决WSL2网络访问问题,实现一键设置代理,提升开发效率。

weixin_29295541的博客 451

leedcode做题总结,题目Reorder List 13/11/12

题目很简单,把12345重新排序成15243.

sdadssa1的专栏 589

深入解析Mifare Classic Crypto1认证流程与密钥交换机制

本文深入解析Mifare Classic Crypto1认证流程与密钥交换机制,详细介绍了Crypto1加密算法的工作原理、认证初始化阶段、随机数交换与密钥流生成过程,以及双向验证步骤。文章还分析了Mifare Classic的安全漏洞,包括随机数生成缺陷和密钥流恢复攻击,并提供了Proxmark3实战演示和防护建议。

c6d7e8f9g的博客 898

完整IC设计流程解析&Makefile学习

本文介绍了decorder38项目的文件结构、自动化综合流程和Makefile使用方法。项目包含RTL到GDSII全流程文件,重点关注syn目录中的综合脚本。通过make dc命令运行综合流程,生成网表、约束和时序文件。关键报告如qor.rpt、area.rpt和min_vio.rpt用于分析综合质量、面积和时序。Makefile部分解释了其基本语法、IC设计中的典型结构,包括目标定义、命令执行和特殊声明,强调了其在自动化构建和依赖管理中的重要性。

m0_63352623的博客 855

【LeetCode】#143重排链表(Reorder List)

【LeetCode】#143重排链表(Reorder List) 题目描述 给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 示例 1: 给定链表 1-&gt;2-&gt;3-&gt;4, 重新排列为 1-&gt;4-&gt;2-&gt;3. 示例 2:...

weixin_43858604的博客 402

innovus:NRDB-2276 special net route layer与NanoRouteMode route layer冲突问题解决方法

NanoRouteMode中设置绕线层次2-6,但是被动到的special net有8-11的preferred route layer,这个层次可能是create_route_type+set_ccopt_property -net_type 定义的。二者绕线层次范围有冲突,导致在调整过这条net后再绕线就会提示失败。然后再下route_design 等route命令去绕别的net。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1103

leedcode——判断单链表是否有环及寻找环的入口点

题目: Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull. Follow up: Can you solve it without using extra space? 思路: (1)设置快慢指针,因为链表中有环,所以最终会相遇,相

HappyToEat的博客 635

GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)

本文将介绍在Google Earth Engine (GEE)平台上进行随机森林分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量,运行随机森林分类器教程,计算随机森林分类结果的精度,优化随机森林分类算法的参数,打印各个变量特征的贡献度等步骤的方法和代码。本教程可以应用于多种分类场景,包括土地利用分类、种植区提取(大蒜、小麦、玉米等)、局部气候区分类、植被分类等多种场景。

养乐多的博客 1万+

基于瑞芯微RK3562 四核 ARM Cortex-A53 + 单核 ARM Cortex-M0——Linux应用开发手册

本文主要介绍TL3562-MiniEVM评估板的AMP(Asymmetric Multi-processing)开发案例,介绍基于Linux + RT-Thread(RTOS)、Baremetal的AMP案例的开发环境搭建。

创龙,嵌入式一体化解决方案商 411

leedcode—— word-break

题目: Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words. For example, given s ="leetcode", dict =

HappyToEat的博客 539

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

leedcode——二叉树的后序遍历

题目:Given a binary tree, return the postorder traversal of its nodes' values. 思路: (1)递归方法,递归打印左孩子,递归打印右孩子,打印根节点。 (2)非递归方法,使用栈,逐层push左孩子,如果右孩子为NULL或已经打印过,打印根节点,否则把右孩子重复上述步骤。 递归代码: /** * Definiti

HappyToEat的博客 532

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

leedcode——链表插入排序

题目:Sort a linked list using insertion sort. 思路:定义一个临时链表存放已排序好的链表,将未排序好的节点依次插入。 链表元素:1,3,8,4,6,5,2 (递归到最后一个节点2) 第一轮:temp链表元素为2,head 为5,操作:将5插入到2后面 第二轮:temp链表元素为2,5,head为6,操作:将6插入到5后面 第三轮:temp链表元素

HappyToEat的博客 522

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

leedcode—— single-number

题目: Given an array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without

HappyToEat的博客 493

leedcode二叉树的最小深度与最大深度

一、最小深度      二叉树的最小深度为根节点到最近叶子的距离。 (1)空树直接返回false; (2)只有一个根节点,返回深度1; (3)单分支情况: 左子树为空,返回右子树的最大值+1;右子树为空,返回左子树的最大值+1; (4)双分支情况: 返回左右子树的最小值+1. class Solution { public: int run(TreeNode *root)

HappyToEat的博客 486

leedcode——Max Point on a Line

题目:Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. 思路:使用穷举法解决。先从第一个节点节点开始,循环遍历其他节点,由两点确定一条直线可得,遍历其他节点,通过斜率判断其他剩余节点是否在这条直线上,在直线上则count加1 代码: /**

HappyToEat的博客 457

leedcode——二叉树的前序遍历

题目:Given a binary tree, return the preorder traversal of its nodes' values. 思路: (1)递归方法:打印根节点,递归左孩子,递归右孩子 (2)非递归方法:将根节点入栈,栈不为空时,获取栈顶元素,打印栈顶元素,如果右孩子不为空,右孩子入栈,如果左孩子不为空,左孩子入栈。(原因:栈是先进后出的顺序,右孩子先入栈最后才

HappyToEat的博客 454

leedcode——链表排序

题目:Sort a linked list in O(n log n) time using constant space complexity. 思路1:利用快慢指针找到中间节点,将链表分成两部分,通过递归对左半部分进行递归排序,然后对右半部分进行递归排序,最后将两个链表进行递归排序。 思路2:采用快速排序思想,将链表划分成有序链表和无序链表,通过链表插入与删除完成排序。 代码1:

HappyToEat的博客 422

leedcode逆波兰表达式

题目: Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are+,-,*,/. Each operand may be an integer or another expression. Some examples: ["2", "1", "+", "3",

HappyToEat的博客 410
上一篇: leedcode——二叉树的前序遍历
下一篇: leedcode——判断单链表是否有环及寻找环的入口点
ZH_learningblog
博客等级 码龄10年 22粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值