【Leetcode】题库-爽刷简单题(1)

news2025/2/28 3:14:53

目录

写在前面:

题目:67. 二进制求和 - 力扣(Leetcode)

解题思路:

代码:

过过过过过过啦!!!!

题目:83. 删除排序链表中的重复元素 - 力扣(Leetcode)

解题思路:

代码:

过过过过过过啦!!!!

写在最后:


写在前面:

无论是你学习累了,还是情绪低落,还是生活不如意,哪怕是失恋了,跟我一起,放下生活的

担,打开LeetCode,点开题库,选择简单题,快点这个链接,和我一起享受刷题的快乐!

题目:67. 二进制求和 - 力扣(Leetcode)

解题思路:

这道题目其实就是,让我们用代码去模拟二进制的运算,

那我们就想一想二进制该咋算,

根据小学数学学的知识,要从左往右计算两数相加,

当每一位相加的值大于进制,那就进位,

为了防止因为两个二进制的大小不同,导致相加的时候一个数加完了,

另一个还没加完,

1. 我们首先计算两数长度,将小的那个数往前补零,让两个数等长

2. 然后从左往右相加,如果相加值需要进位那就进位即可

下面是代码:

代码:

class Solution {
public:
    string addBinary(string a, string b) {
        //计算他们的长度
        int alen = a.size();
        int blen = b.size();

        //在短的字符串前补零,让他们等长,之后好比较计算
        while(alen < blen)
        {
            a = '0' + a;
            alen++;
        }
        while(alen > blen)
        {
            b = '0' + b;
            blen++;
        }

        //从后往前遍历字符串,并相加进位
        for(int j = a.size() - 1; j > 0; j--)
        {
            a[j] = a[j] - '0' + b[j];
            if(a[j] > '1')
            {
                a[j] = (a[j] - '0') % 2 + '0';
                a[j - 1] = a[j - 1] + 1;
            }
        }

        //字符串第零位单独操作,相加
        a[0] = a[0] - '0' + b[0];

        //进位
        if(a[0] > '1')
        {
            a[0] = (a[0] - '0') % 2 + '0';
            a = '1' + a;
        }
        return a;
    }
};

过过过过过过啦!!!!

题目:83. 删除排序链表中的重复元素 - 力扣(Leetcode)

解题思路:

那么这道题啊,就是删除链表的重复项,

那么对于一个简单题来说,

我建议是不要带脑子,

我们直接无脑遍历链表,然后把出现过的数组成一个新链表就行,

因为题目说这是一个排序过的数组,所以重复的数字都是连在一起的,

只需要临时记录一下那个数字是否重复就能防止重复插入。

我个人更喜欢搞个哨兵位再尾插,你们带不带就看个人习惯了,

最后返回那个新链表的头就行。

下面是代码:

代码:

/**
 * 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* deleteDuplicates(ListNode* head) {
        //判断空链表
        if(!head)
        {
            return nullptr;
        }

        //建一个哨兵位的头结点
        ListNode* newhead = new ListNode;

        //cur用来遍历原链表
        ListNode* cur = head;

        //先头插一个数据
        newhead->next = cur;

        //prev用来遍历新链表
        ListNode* prev = cur;

        //遍历原链表
        while(cur)
        {
            //如果节点的值重复就继续遍历,如果不同就尾插进新链表
            if(cur->val != prev->val)
            {
                prev->next = cur;
                prev = prev->next;
            }
            cur = cur->next;
        }

        //尾结点指向空
        prev->next = nullptr;

        //换头(其实可以不换的啦)
        head = newhead->next;
        return head;
    }
};

过过过过过过啦!!!!

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果喜欢本文的话,欢迎点赞和评论,写下你的见解。

如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。

之后我还会输出更多高质量内容,欢迎收看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux之jdk1.8环境安装与配置和Maven安装与配置

文章目录一、jdk1.8环境安装1、官网下载&#xff1a;<https://www.oracle.com/java/technologies/downloads/#java8>2、在usr文件夹下新建一个java文件夹3、解压完成后&#xff0c;将文件jdk文件传入到java目录下二、配置环境&#xff08;重点&#xff09;1、按 i 进行编…

docker环境下搭建rocketmq集群

rocketmq是一个分布式消息中间件&#xff0c;分布式的意思就是多台机器可以通过网络连接协同工作&#xff0c;因此rocketmq可以运行在多台机器上&#xff0c;以达到超越单机的服务能力。rocketmq的架构图如下所示 我们首先搭建一个最小的rocketmq集群&#xff0c;需要启动一个n…

MySQL安装配置与连接Navicat

本文详细记录win11系统MySQL安装配置与Navicat连接过程&#xff0c;每个知识点都解释了&#xff0c;不止安好了&#xff0c;你还学懂了&#xff01;你不知道选择哪个版本&#xff0c;不知道参数啥意思&#xff0c;不知道哪种安装方式好&#xff1f;这里都有答案&#xff01;&am…

最大二叉树

1题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 最…

六、Locust之TaskSets详解

​ TaskSets是一种结构化测试分层网站/系统的方法。你可以在这里阅读更多关于它的信息。 1.TaskSet class ​ 如果你正在对一个以分层方式构建的网站进行性能测试&#xff0c;有章节和子章节&#xff0c;以同样的方式构建你的负载测试可能是有用的。 ​ 为了这个目的&#x…

全终端办公电子邮件集成方案

面临挑战 应用场景复杂&#xff0c;经常需要在不同终端进行切换&#xff0c;多屏、跨屏及移动办公要求高&#xff1b; 业务系统较多&#xff0c;需要同时支持多种业务的开展&#xff0c;对第三方应用集成及协同办公要求高&#xff1b; 对邮件系统的稳定及高效性要求高&#x…

【Linux】线程中的互斥锁、条件变量、信号量(数据安全问题、生产消费模型、阻塞队列和环形队列的实现)

文章目录1、线程互斥1.1 线程间频繁切换导致的问题1.2 使用互斥锁1.3 互斥锁的原理1.4 线程中的数据安全问题2、线程同步之条件变量2.1 生产消费模型2.2 条件变量概念和调用函数2.3 阻塞队列的实现3、线程同步之信号量3.1 理解信号量3.2 信号量接口3.3 环形队列的实现4、小结1、…

[golang gin框架] 23.Gin 商城项目-前台templates模板分离,首页,顶部导航,轮播图 左侧分类数据渲染

一.首页界面展示以及项目结构分析首页界面展示项目结构分析二.代码展示首页相关模型首页相关模型如下:[golang gin框架] 21.Gin 商城项目-导航模块功能[golang gin框架] 17.Gin 商城项目-商品分类模块, 商品类型模块,商品类型属性模块功能操作[golang gin框架] 16.Gin 商城项目…

2023中国程序员薪酬报告出炉,你拖后腿了吗?

程序员薪资高已是公认的事实&#xff0c;但是具体高到什么程度呢&#xff1f;近期&#xff0c;全球人力服务公司 Michael Page Internatioal 就发布了《2023 中国大陆薪酬报告》&#xff0c;揭示了中国程序员的薪酬情况。 该报告中一共调研了国内 7 个行业以及 6 大城市不同职…

Doris的基本概述

目录 Doris是什么 使用场景 技术概述 Doris是什么 由百度大数据部研发&#xff0c;之前加做百度palo&#xff0c;20118年共享到Apache社区后&#xff0c;更名Doris一个现代化的MPP分析型数据库产品 支持压秒级别响应架构非常简洁&#xff0c;易于运维支持10PB以上的超大数据…

企业数字化转型全是坑?这几篇数字化转型成功案例,减少70%损失

这篇给大家整理了200企业数字化转型案例合集&#xff0c;涵盖了制造、建筑、教育、零售、互联网等10行业的大中小型企业数字化转型思路&#xff0c;希望对大家有所帮助。 案例全部整合在这篇文章中&#xff0c;点击即可查看>>数字化干货资料合集&#xff01; 01 首先&…

【FineReport】帆软报表平台的安装与连接 SAP HANA 数据库

【FineReport】帆软报表平台的安装与连接 SAP HANA 数据库1、下载帆软2、安装软件3、连接HANA4、访问数据1、下载帆软 &#xff08;1&#xff09;帆软最新版本软件下载地址&#xff1a;https://www.finereport.com/product/download 此处&#xff0c;以下载FineReport v11.0 …

设计模式 : 构造型 —— 单例模式

单例模式 Creational Patterns/Singleton.md belien/DesignPattern-23 (gitee.com) Singleton Pattern&#xff0c;属于创建型设计模式&#xff0c;这种模式涉及到一个单一的类&#xff0c;该类负责创建自己的对象&#xff0c;同时确保只有单个对象被创建&#xff0c;这个类提…

PHY- PHY芯片概述

1 PHY概述 关于Internet Protocal的分层模型可以参考文章 :【Internet Protocal-OSI模型中的网络分层模型】,下面我们讲讲底层以太网控制器和收发器的知识。其主要是处理OSI模型中的物理层和链路层的事情。 在CAN/CANFD、FlexRay等总线中,有控制器Controller和收发器Transc…

【三十天精通Vue 3】第五天 Vue 3指令详解

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: 三十天精通 Vue 3 文章目录引言一、Vue 3 指令概述1.1 指令的简介1.2 指令的分类1.3 指令的语…

基于消息调度优化启动速度方案实践

背景 在抖音的技术博客 https://juejin.cn/post/7080065015197204511#heading-10中&#xff0c;其介绍了通过修改消息队列顺序实现冷启动优化的方案&#xff0c;不过并未对其具体实现展开详细说明。 本文是对其技术方案的思考验证及实现。 详细代码见github: https://github.c…

PMO在企业项目管理中起到的重要性

在现代企业中&#xff0c;项目管理助力企业在激烈的市场竞争中获得成功&#xff0c;而这需要一个专业化的项目管理办公室&#xff08;PMO&#xff09;来确保项目的顺利实施。在企业项目管理中&#xff0c;PMO扮演着至关重要的角色&#xff0c;下文我们将对其的重要作用进行探讨…

docker+jenkins+maven+git构建聚合项目,实现自动化部署,走了800个坑

流程 主要的逻辑就是Docker上安装jenkins&#xff0c;然后拉取git上的代码&#xff0c;把git上的代码用Maven打包成jar包&#xff0c;然后在docker运行 这个流程上的难点 一个是聚合项目有可能Maven install的时候失败。 解决办法&#xff1a;在基础模块的pom文件上添加 <…

【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

uniapp即时通讯sdk哪个好?

UniApp 是什么? UniApp 是一种跨平台移动应用开发框架&#xff0c;可以使用 Vue.js 语法开发支持 Android、iOS 和桌面浏览器的应用。 UniApp 即时通讯功能如何实现? 对于实现即时通讯功能&#xff0c;您可以使用以下2种方法: 1、使用 websocket 实现即时通讯。Websocket 是一…