【每日刷题】Day38

【每日刷题】Day38

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 2696. 删除子串后的字符串最小长度 - 力扣(LeetCode)

2. LCR 123. 图书整理 I - 力扣(LeetCode)

3. 面试题 02.06. 回文链表 - 力扣(LeetCode)

1. 2696. 删除子串后的字符串最小长度 - 力扣(LeetCode)

//思路:栈。遍历字符串,如果遇到'B'且栈顶元素为'A',出栈;如果遇到'D'且栈顶元素为'C',出栈;其余情况入栈。

int minLength(char * s)

{

    int count = 1;

    char* Stack = (char*)malloc(sizeof(char)*strlen(s)+1);

    Stack[0] = s[0];

    int i = 1;

    while(i<strlen(s))

    {

        if((count&&s[i]=='B'&&Stack[count-1]=='A')||(count&&s[i]=='D'&&Stack[count-1]=='C'))//出栈情况

        {

            count--;

        }

        else//入栈

        {

            Stack[count++] = s[i];

        }

        i++;

    }

    Stack[count] = '\0';

    return strlen(Stack);

}

2. LCR 123. 图书整理 I - 力扣(LeetCode)

//思路:栈。利用栈将数组逆置。

int* reverseBookList(struct ListNode* head, int* returnSize)

{

    int* Stack = (int*)malloc(sizeof(int)*10000);

    int count = 0;

    int* ans = (int*)malloc(sizeof(int)*10000);

    struct ListNode* pmove = head;

    while(pmove)

    {

        Stack[count++] = pmove->val;

        pmove = pmove->next;

    }

    int size = 0;

    while(--count>=0)

    {

        ans[size++] = Stack[count];

    }

    *returnSize = size;

    return ans;

}

3. 面试题 02.06. 回文链表 - 力扣(LeetCode)

//思路:将链表节点入栈,对栈进行入栈出栈操作,最后判断栈是否为空,为空则说明链表为回文结构,否则不是。注意:这里需要考虑链表长度为奇数和偶数的情况

bool isPalindrome(struct ListNode* head)

{

    if(!head)

    {

        return true;

    }

    if(!head->next)

    {

        return true;

    }

    int count = 0;

    int flag = 0;

    struct ListNode* pmove = head;

    while(pmove)//计算链表长度

    {

        count++;

        pmove = pmove->next;

    }

    pmove = head->next;

    int* arr = (int*)malloc(sizeof(int)*count);

    arr[0] = head->val;

    int num = 1;

    if(count%2)//如果链表长度为奇数,则当遍历到链表中间节点时不能够进行入栈出栈操作,直接跳过

    {

        while(pmove)

        {

            flag++;

            if(flag==count/2)//遍历到链表中间节点,不进行操作,直接跳过

            {

                pmove = pmove->next;

                continue;

            }

            if(num&&pmove->val==arr[num-1])//如果当前节点值与栈顶元素相同,则出栈

            {

                num--;

            }

            else//否则,入栈

            {

                arr[num++] = pmove->val;

            }

            pmove = pmove->next;

        }

    }

    else//偶数情况

    {

        while(pmove)//与奇数类似,省去了遍历到链表中间节点的情况

        {

            if(num&&pmove->val==arr[num-1])

            {

                num--;

            }

            else

            {

                arr[num++] = pmove->val;

            }

            pmove = pmove->next;

        }

    }

    return num==0;

}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用 Spring Boot 配合策略模式增强系统接口扩展能力

使用 Spring Boot 配合策略模式增强系统接口扩展能力 在软件开发中&#xff0c;系统的可扩展性是一个至关重要的方面。而策略模式是一种常见的设计模式&#xff0c;它可以帮助我们实现灵活的算法选择和系统功能扩展。结合 Spring Boot 框架&#xff0c;我们可以更加方便地利用策…

域控操作十四:统一修改域控内计算机用户头像

1&#xff0c;Windows默认头像存储路径&#xff0c;所以我们把这里面的图片都改成自己想要的头像&#xff0c;然后写策略强制使用默认头像就行了 此设置是替换默认头像使用 此设置是为设置默认头像

039——解决室内不能使用GPS问题

目录 引入 GUI整改 client添加GPS分析 完善服务器网络通讯部分代码 添加GPS的BSW层 GPS操作部分代码&#xff08;相当于驱动&#xff09; 效果展示 项目管理操作 引入 最近在写论文加上出去玩了一圈所以停更了一段时间。上次咱们GPS有个室内用不了的问题&#xff0c;咱…

本地vite启动的vue项目使用nginx代理

前提&#xff1a; 必须在同一网段或者相同的局域网&#xff01;&#xff01;&#xff01; nginx下载通道&#xff1a; https://nginx.org/en/download.html 步骤&#xff1a; 1、最好下载稳定版本&#xff1a; 2、下载后直接解压&#xff08;注意&#xff1a;解压后不要放…

C++入门系列-拷贝构造函数

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 拷贝构造函数 概念 在创建对象的时候&#xff0c;能不能创建一个和已知已存在的对象一模一样的对象呢&#xff1f; 拷贝构造函数&#xff1a;只有单个形参&#xff0c;该形参…

【JavaWeb】Day74.Spring——AOP进阶(连接点)

连接点 连接点可以简单理解为可以被AOP控制的方法。我们目标对象当中所有的方法不是都是可以被AOP控制的方法。而在SpringAOP当中&#xff0c;连接点又特指方法的执行。 在Spring中用JoinPoint抽象了连接点&#xff0c;用它可以获得方法执行时的相关信息&#xff0c;如目标类名…

Mybatis操作数据库的两种方式:原生API

mybatis操作数据的两种方式&#xff1a;原生api和mapper代理对象 1.mybatis的api提供的方法 insert() 增加 delete() 删除 update() 更新 selectOne() 返回一个数据 selectList() 返回多个数据&#xff0c;结果类型为List selectMap() 返回多个数据&…

算法学习系列(六十):区间DP

目录 引言区间合并模板一、石子合并二、环形石子合并三、能量项链 引言 关于这个区间 D P DP DP &#xff0c;其实是有套路和模板的&#xff0c;题型的话也是变化不多&#xff0c;感觉就那几种&#xff0c;只不过有些题会用到高精度或者是要记录方案&#xff0c;所以整体来说…

为什么你总是买不到心仪的房?可能是因为你忽略了这些!

​在人生的旅途中&#xff0c;过多的选择有时并无益处。当选择变得繁多&#xff0c;我们往往容易迷失方向&#xff0c;渴望拥有所有&#xff0c;但最终可能一无所获。 对于迫切需要购房的人来说&#xff0c;他们常常面临这样的困境&#xff1a;被各种声音和推荐所包围&#xf…

STM32窗口看门狗的操作

STM32的窗口看门狗的主要功能是&#xff0c;程序过早的喂狗还有太晚喂狗&#xff0c;都会触发单片机重启&#xff0c;就是有一个时间段&#xff0c;在这个时间段内喂狗才不会触发单片机重启。 下面我就总结一下窗口看门狗的设置过程&#xff1a; 第一步&#xff1a;开启窗口看…

搭建本地yum仓库

步骤 找个地方存你的rpm包 #我创建了一个rpm文件夹存放我的rpm包 makdir -p /opt/repo/rpmcreaterepo 这个很重要&#xff0c;一定要安装 # 我的能连外网&#xff0c;所以直接yum安装&#xff0c;你的自己想办法 yum install createrepo -y创建repodata 安装了createrepo后…

day001 ~如何修改主机名

命令行方式设置主机名 # 这个很重要&#xff01;用命令改方便些 hostnamectl set-hostname ocloud-252 #查询&#xff0c;exit或logout重新登录后发现主机名换掉 hostname nmtui方式修改 nmtui 在工作中,如果机器很多,最好修改主机名做好标识不至于弄混,方便管理.

WEB后端复习——监听器、过滤器

Listener监听器 是Servlet规范中定义的一种特殊类&#xff0c;它用于监听web应用程序中的ServletContext, HttpSession和ServletRequest等域对象的创建与销毁事件&#xff0c;以及监听这些域对象中的属性发生修改的事件。 注解WebListener 1.ServletContextListener 监听Serv…

Windows使用cowaxess(goaccess)分析Nginx日志

原文网址&#xff1a;Windows使用cowaxess(goaccess)分析Nginx日志_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Windows安装cowaxess来分析Nginx的access.log日志的方法。 cowaxess是goaccess的Windows版本&#xff0c;cowaxess底层会调用goaccess。 GoAccess 是一个专门用来…

uniapp获取当前位置及检测授权状态——支持App、微信小程序

uniapp获取当前位置检测及定位权限——支持App、微信小程序 首先&#xff0c;祝天下母亲&#xff0c;节日快乐~ 文章目录 uniapp获取当前位置检测及定位权限——支持App、微信小程序效果图新增 兼容小程序方法manifest Tips&#xff1a; 上一篇介绍 App端 uniapp获取当前位置及…

# 电脑突然连接不上网络了,怎么办?

电脑突然连接不上网络了&#xff0c;怎么办&#xff1f; 一、原因分析&#xff1a; 1、IP 地址冲突 2、DNS 解析出现问题。 3、电脑网络设置是否打开了【移动热点】或【飞行模式】。 4、【WLAN AutoConfig】服务是否打开。 5、无线网卡驱动损坏。 6、检查 WIFI 开关是否…

新闻资讯微信小程序开发后端+php【附源码,文档说明】

博主介绍&#xff1a;✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;&#x1f3…

1060: 无向图的最大度计算

解法&#xff1a; #include<iostream> #include<vector> using namespace std; int arr[100][100]; int main() {int n, max 0;cin >> n;vector<int> sum(n, 0);for (int i 0; i < n; i) {for (int j 0; j < n; j) {cin >> arr[i][j];…

Web UI自动化测试--PO模式

没有PO实现的测试用例的问题: 重用性低:登录功能重复可维护性差:数据和代码混合可读性差:元素定位方法杂乱(id、xpath、css混杂)可读性差:不易识别操作的含义(特别是css和xpath语法)可维护性差:如果某个元素的属性改了,你要更改多次PO(Page Object Model)页面对象模型…

零基础学MySQL

1. 零基础学MySQL 1.1 数据库简介 1.1.1 数据库三层结构 1. 所谓安装Mysql数据库&#xff0c;就是在主机安装一个数据库管理系统(DBMS)&#xff0c;这个管理程序可以管理多个数据库。DBMS(database manage system) 2. 一个数据库中可以创建多个表,以保存数据(信息)。 3. 数据…