首页 > 其他分享 >2024-03-11 leetcode写题记录

2024-03-11 leetcode写题记录

时间:2024-03-12 15:49:16浏览次数:22  
标签:11 03 head ListNode val nullptr 链表 next 2024

目录

2024-03-11 leetcode写题记录

206. 反转链表

题目链接

206. 反转链表

题意

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

解法

链表反转板子题,特殊处理下一个点都没有的情况就行。

/**
 * 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:
    void f(ListNode* x, ListNode*& head) {
        if (x == nullptr)
            return;
        if (x->next == nullptr) {
            head = x;
            return;
        }
        f(x->next, head);
        x->next->next = x;
        x->next = nullptr;
    }

    ListNode* reverseList(ListNode* head) {
        f(head, head);
        return head;
    }
};

876. 链表的中间结点

题目链接

876. 链表的中间结点

题意

给你单链表的头结点\(head\),请你找出并返回链表的中间结点。

如果有两个中间结点,则返回第二个中间结点。

解法

快慢指针,时间复杂度\(O(n)\),空间复杂度\(O(1)\)。

/**
 * 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* middleNode(ListNode* head) {
        ListNode *l = head, *r = head;
        while (l != nullptr && r != nullptr) {
            if (r->next == nullptr)
                return l;
            l = l->next;
            r = r->next->next;
        }
        return l;
    }
};

标签:11,03,head,ListNode,val,nullptr,链表,next,2024
From: https://www.cnblogs.com/FlyingLight/p/18068423

相关文章

  • 叮!请查收昇思人工智能框架峰会2024邀请函
    昇思MindSpore人工智能框架峰会,北京国家会议中心,2024年3月21闭门会议,3月22日主论坛和开发者嘉年华,人工智能产学研用专家齐聚,诚邀各位开发者参加~~......
  • 省选联考2024回顾+总结
    回顾由于之前重庆联考考得很差,赛前几天很紧张。Day1比赛开始,看第一题,列出一个带绝对值的神奇式子,发现很难处理。冷静下来后发现可以直接拆绝对值,之后简单讨论一下就行了。过了大样例就没管了。此时时间过去了1.5个小时。接着看第二题,感觉很难,冥思苦想后想出了40分,之后再无进展......
  • 代随想录 第十八天 | ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 10
    leetcode:513.找树左下角的值-力扣(LeetCode)思路:是找最深左下角的值,不是找左节点最深的值!!遍历深度,判断最大深度,存储后再与下一个相同深度的比较,先左后右,也就是从左到右的顺序来判断的,所以能找到树下左下角的值classSolution{intmaxdepth=0;intresult=0;......
  • Error running 'Tomcat 8.5.27': Unable to open debugger port (127.0.0.1:2887): ja
    火绒安全-导致的tomcat8启动异常 一、问题由来最近有个朋友在学习使用IDEA配置tomcat8.5.99的时候,使用一切都正常,直到学习到使用Servlet实现文件下载功能的时候,出现问题。写了一个简单的Servlet用来测试文件下载,直接把路径放在浏览器中测试的时候,可以正常下载。可是不......
  • Avalonia 11.1.0-beta1 发布
    11.1.0-beta1Avalonia是dotnet的跨平台UI框架,提供灵活的样式系统,支持Windows、macOS、Linux、iOS、Android和WebAssembly等多种平台。Avalonia已经成熟并已做好生产准备,已被SchneiderElectric、Unity、JetBrains和GitHub等公司使用。 FullChangelog: htt......
  • 解决Error: error:0308010C:digital envelope routines::unsupported的四种解决方案
    问题描述:前端项目自定义webpack自动构建项目,启动时报错:Error:error:0308010C:digitalenveloperoutines::unsupported报错原因:    主要是因为 nodeJsV17版本发布了OpenSSL3.0对算法和秘钥大小增加了更为严格的限制,nodeJsv17之前版本没影响,但V17和之后版本会......
  • 2038问题
    2038年问题,也被称为Unix千年虫或Y2K38,是一个涉及Unix时间戳的潜在问题。Unix时间戳是计算机系统用来跟踪时间的一种方法,它计算的是从1970年1月1日00:00:00UTC(称为Unix纪元或epoch)开始到当前的秒数。在许多Unix-like系统中,这个时间戳被存储为一个32位有符号整数。32位有符号整数......
  • 2024.3.12 zdy
    退出之前会留恋。调整一下图寻单元考一下就差不多了。考不好的话就不好说了。教材帮。加深印象。文科稍微放放。理科多练练。每天坚持背五六个单词。不如我的100/day的bcz复习做简单的题,恢复心态。不要有太大压力。刚回来差一点没关系。累了多休息。不要强迫。总有一......
  • Docker部署GitLab-2024
    搭建公司/个人私有化的Gitlab/Github代码版本管理平台文章耗时:5天(终于全流程走通),相关的应用或问题将持续更新。朗读全文Yourbrowserdoesnotsupporttheaudioelement.怎么用条件:个人域名,公网IP的小主机或服务器(或购得的VPS或网络服务器)根据‘实现方法’中的步骤用d......
  • 【2024面试刷题】二、Spring Cloud 面试题之Hystrix
    1、springcloud断路器的作用是什么?答:当一个服务调用另一个服务由于网络原因或自身原因出现问题时,调用者将等待被调用者的响应当更多的服务要求这些资源导致更多的请求等待时,就会出现连锁效应(雪崩效应)。断路器完全打开:一段时间内达到一定次数不能调用并且多次监测无恢复迹象......