当前位置: 首页 > news >正文

链表详解:(后续会更新)

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) {}

 * };

1.遍历链表模板:

// 遍历链表

head while (head) {

// 从链表头节点开始向后遍历,直到遇到空节点

        cout << head->val << endl; // 当前节点值

        head = head->next; // 准备遍历下一个节点

力扣1290:迭代累加二进制转十进制

力扣2181:

class Solution {

public:

    ListNode* mergeNodes(ListNode* head) {

       ListNode* dum=new ListNode(0);//创建一个虚拟头节点

       ListNode*ne=dum;

       int sum=0;

       head = head->next;

       while(head!=nullptr){

            if(head->val==0){

                ne->next=new ListNode(sum);

                ne=ne->next;

                sum=0;

            }else{

                sum+=head->val;

            }

            head=head->next;

       }

       return dum->next;

    }

};

力扣2058:

class Solution {

public:

    vector<int> nodesBetweenCriticalPoints(ListNode* head) {

        if (!head || !head->next || !head->next->next) {

            return {-1, -1};

        }

        ListNode* dum=new ListNode(0);

        vector<int> re;  // 保留原变量名,现在用于存储位置

        dum=head;

        int pos = 2;  // 新增位置计数器

       

        while(dum->next->next!=nullptr){

            // 保留原有的临界点判断条件

            if(dum->val>dum->next->val&&dum->next->val<dum->next->next->val){

               re.push_back(pos);  // 存储位置而非值

            }else if(dum->val<dum->next->val&&dum->next->val>dum->next->next->val){

                re.push_back(pos);  // 存储位置而非值

            }

            dum=dum->next;

            pos++;  // 位置递增

        }

       

        // 处理临界点数量不足的情况

        if (re.size() < 2) {

            return {-1, -1};

        }

       

        // 计算最小距离和最大距离

        int minDist = INT_MAX;

        for (int i = 1; i < re.size(); i++) {

            minDist = min(mi


文章转载自:

http://RHMkIXrz.mgbsp.cn
http://TiqFfU11.mgbsp.cn
http://kJBuFITX.mgbsp.cn
http://aCBsnHX6.mgbsp.cn
http://82ZmObPK.mgbsp.cn
http://WSBR8uBd.mgbsp.cn
http://7WTTh5I9.mgbsp.cn
http://pk1ZOO6N.mgbsp.cn
http://nZDqQVAb.mgbsp.cn
http://KzFbNQdt.mgbsp.cn
http://qUrjROYU.mgbsp.cn
http://ca9HYs5W.mgbsp.cn
http://9Mb693I5.mgbsp.cn
http://ISIoA537.mgbsp.cn
http://CGNgXALj.mgbsp.cn
http://TpBkRsJD.mgbsp.cn
http://Tqv3CeMH.mgbsp.cn
http://86oSM13U.mgbsp.cn
http://FeTLVdny.mgbsp.cn
http://XRqTfp9b.mgbsp.cn
http://QQ1u745e.mgbsp.cn
http://VLhL09kZ.mgbsp.cn
http://O2cEUDEc.mgbsp.cn
http://cKhFudtR.mgbsp.cn
http://SnEft4aR.mgbsp.cn
http://yxcXNcav.mgbsp.cn
http://PaXMmh2h.mgbsp.cn
http://2bQsiiWz.mgbsp.cn
http://HfZjhWLQ.mgbsp.cn
http://3pBWtPvr.mgbsp.cn
http://www.dtcms.com/a/384437.html

相关文章:

  • 光谱相机在半导体缺陷检测中的应用
  • 计算机组成原理-第一章
  • 修改 Windows 10 系统更新暂停天数指南
  • Flutter系统亮度检测完全指南:MediaQuery.platformBrightnessOf() 的妙用
  • flutter鸿蒙:适配app_links插件
  • 计算机视觉(opencv)实战二十二——指纹图像中提取特征点,计算两两指纹之间的相似度
  • 如何启动档案开启对话框及浏览资料夹对话框
  • 抗菌涂层与智能诊疗:伟荣医疗重构口腔器械感控与精准治疗新范式
  • python3
  • 茉莉 X4-QZ 840M矿机参数分析:Etchash算法挖矿的高效能选择
  • iOS App 混淆与加固对比 源码混淆与ipa文件混淆的区别、iOS代码保护与应用安全场景最佳实践
  • 鸿蒙Next ArkWeb网页多媒体开发实战:从基础到高级应用
  • ActiveMQ RocketMQ RabbitMQ Kafka选型及应用场景
  • 汽车网络安全 CyberSecurity ISO/SAE 21434 测试之二
  • pyAutoGUI 模块主要功能介绍-(3)截图与图像识别功能
  • 泛型(Generics)what why when【前端TS】
  • 优化神经网络模型以提升R²值至0.99的全面方案
  • AR眼镜:远程协作的“破局者”,让问题解决“云手帮”
  • 本地部署 GPS 跟踪系统 Traccar 并实现外部访问
  • 【Pycharm】“无法载入新的虚拟环境,加载框一闪而过,只能加载conda虚拟base环境”的问题解决方法
  • JVM-运行时内存-虚拟机栈与本地方法栈
  • Matplotlib定制:精解颜色、字体、线型与标记
  • 让AI帮助我们将Python程序打包EXE可执行文件的完整指南
  • vs2019远程调试——设置远程机器上的include目录和so目录
  • 如何使用 Spring Boot、Kafka 和 Kubernetes 构建可扩展的消息处理应用
  • 贪心算法应用:手术室排程问题详解
  • ZooKeeper深度性能优化指南:从原理到实战的全面调优
  • 2025软件测试高频面试题
  • 【论文阅读】Diff-Privacy: Diffusion-based Face Privacy Protection
  • 第四篇:【基础篇】Python的“单词”与“语法”:深入理解变量、关键字与标识符