day11-12【代码随想录】删除链表的倒数第N个节点、链表相交、字符串中第二大的数字

news2024/10/7 16:22:07

文章目录

  • 前言
  • 一、删除链表的倒数第N个节点(力扣19)
  • 二、链表相交(力扣160)
  • 三、字符串中第二大的数字(力扣1796)


前言

1、删除链表的倒数第N个节点
2、链表相交
3、字符串中第二大的数字

一、删除链表的倒数第N个节点(力扣19)

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

在这里插入图片描述
解题思路–快慢指针
关键在于怎么找倒数第n个节点:快指针先走n+1步,快慢指针同时出发,当快指针=null时,慢指针此时所在位置就是要删除节点的前驱
在这里插入图片描述
在这里插入图片描述

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        ListNode dummy = new ListNode(-1,head);
        ListNode fast=dummy;
        ListNode slow=dummy;
        int count = 0;
        while(count++<n+1){//快指针先走n+1步
            fast = fast.next;
        }
        while(fast!=null){
            fast=fast.next;
            slow=slow.next;
        }
        slow.next=slow.next.next;
        return dummy.next;
    }
}

在这里插入图片描述

二、链表相交(力扣160)

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。

在这里插入图片描述
解题思路:
在这里插入图片描述

在这里插入图片描述

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */
public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode curA = headA;
        ListNode curB = headB;
        //求链表A的长度
        int lengthA=0;
        while(curA!=null){
            lengthA++;
            curA=curA.next;
        }
        //求链表B的长度
        int lengthB=0;
        while(curB!=null){
            lengthB++;
            curB=curB.next;
        }
        curA = headA;
        curB = headB;
        //让curA为最长链表的头 
        if(lengthA<lengthB){
            int tempLength = lengthA;
            lengthA = lengthB;
            lengthB = tempLength;
            ListNode tempNode = curA;
            curA = curB;
            curB = tempNode;
        }
        int step = lengthA-lengthB;
        //链表A的指针先往前走step+1个位置
        for(int i=0;i<step;i++){
            curA=curA.next;
        }
        while(curA!=null){
            if(curA==curB){
                return curA;
            }
            curA = curA.next;
            curB = curB.next;
        }
    return null;
    }
}

在这里插入图片描述

三、字符串中第二大的数字(力扣1796)

给你一个混合字符串 s ,请你返回 s 中 第二大 的数字,如果不存在第二大的数字,请你返回 -1 。
混合字符串 由小写英文字母和数字组成。

在这里插入图片描述

class Solution {
    public int secondHighest(String s) {
        char[] chars = s.toCharArray();
        int max1=-1;
        int max2=-1;
        for(char c : chars){
            if(Character.isLetter(c))continue;
            int num = c-'0';
            if(num>max1){
                max2=max1;
                max1=num;
            }else if(num<max1 && num>max2){
                max2=num;
            }
        }
        return max2;
    }
}

在这里插入图片描述


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

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

相关文章

苹果mac装双系统?关于Parallels Desktop你需要知道的相关知识

很多朋友用上了MacBook&#xff0c;但很多软件只能在Windows系统来使用&#xff0c;小白想要在MacBook上装Windows&#xff0c;需要花费大量的时间&#xff0c;所以在此&#xff0c;教大家在MacBook上安装虚拟机&#xff0c;来运行Windows系统。 <目录> 一、你是否适合…

【使用 BERT 的问答系统】第 4 章 :BERT 算法详解

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

岩藻多糖-聚乙二醇-转铁蛋白,Transferrin-PEG-Fucoidan,转铁蛋白-PEG-岩藻多糖

岩藻多糖-聚乙二醇-转铁蛋白,Transferrin-PEG-Fucoidan,转铁蛋白-PEG-岩藻多糖 中文名称&#xff1a;岩藻多糖-转铁蛋白 英文名称&#xff1a;Fucoidan-Transferrin 别称&#xff1a;转铁蛋白修饰岩藻多糖&#xff0c;Tf-岩藻多糖 溶解性&#xff1a;溶于大部分有机溶剂&am…

【微信小程序】如何上传uniApp开发的微信小程序?

uniApp微信小程序如何上传&#xff1f;首先确保已经安装了Hbuilder X 和微信开发者工具确保拥有配置了权限的账号&#xff0c;需要使用此账号的AppId首先联系管理员&#xff0c;让管理员给账号配置权限**[打开微信公众平台地址](https://mp.weixin.qq.com/)**在微信公众平台地址…

微信小程序-HTML标签和wxml比对

一、直接将HTML标签引入微信中 <rich-text nodes"<h3 stylecolor:green; text-align:center;> 通过nodes将HTML标签放到微信中</h3>"> </rich-text> 二、轮播图 <!-- indicator-dots 显示轮播图的小圆点 autoplay circular自动播放&…

C. Qpwoeirut And The City Codeforces Round #809 (Div. 2)

传送门 题意&#xff1a;有n栋楼&#xff0c;每栋楼的高度为&#xff0c;对美丽的楼的定义如下&#xff1a; 对于&#xff0c;如果并且,那么就说明这栋楼是美丽的。&#xff08;所以第一栋楼和最后一栋一定不是美丽的&#xff09; lk现在可以将所有的楼的高度增加任意值&…

量化研究丨波动与盈利关系研究系列(一)

ˇ 量化策略开发&#xff0c;高质量社群&#xff0c;交易思路分享等相关内容 今天我们讨论个议题&#xff0c;一是波动与盈利关系&#xff0c;文章非常长&#xff0c;涉及图片与文字结合内容阐述&#xff0c;会员朋友可以通过邮箱群发word文档进行清晰阅读。&#xff08;文章设…

外卖点餐自取连锁多店小程序开发

外卖点餐自取连锁多店小程序开发 功能// 外卖&自取&#xff1a;支持商家自送外卖和用户自取购买模式&#xff0c;暂不支持接入美团/饿了么。 会员签到&#xff1a;支持签到获取积分功能&#xff0c;积分可用于积分商城兑换商品或兑换优患券。 积分商城&#xff1a;后台添加…

week 6 贪心

P1223 排队接水 排队接水 题目描述 有 nnn 个人在一个水龙头前排队接水&#xff0c;假如每个人接水的时间为 TiT_iTi​&#xff0c;请编程找出这 nnn 个人排队的一种顺序&#xff0c;使得 nnn 个人的平均等待时间最小。 输入格式 第一行为一个整数 nnn。 第二行 nnn 个整…

【JavaScript 逆向】极验三代滑块验证码逆向分析

声明 本文章中所有内容仅供学习交流&#xff0c;相关链接做了脱敏处理&#xff0c;若有侵权&#xff0c;请联系我立即删除&#xff01; 案例目标 极验验证码 demo&#xff1a;aHR0cHM6Ly93d3cuZ2VldGVzdC5jb20vZGVtby8 滑动验证码&#xff1a;aHR0cHM6Ly93d3cuZ2VldGVzdC5j…

Mysql相关的各种类型文件

Mysql相关的各种类型文件文件大汇总Mysql数据库自身文件参数文件日志文件错误日志慢查询日志常用参数设置慢查询日志文件慢查询表更换引擎通用日志二进制日志套接字文件pid文件表结构定义文件Innodb存储引擎的文件表空间文件redo日志文件大汇总 Mysql和Innodb启动和运行过程中…

[附源码]计算机毕业设计springboot市场摊位管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

蓝桥杯嵌入式AD采样解析

文章目录前言一、什么是AD采样二、原理图查看及cubeMX配置三、代码解析总结前言 本文将带大家学习AD采样。 一、什么是AD采样 原理部分这里就不多介绍了&#xff0c;给大家推荐一篇文章大家自己去了解一下即可。 AD采样 二、原理图查看及cubeMX配置 在板子上面有两个可调电…

野火FPGA系列教学视频---多路选择器

大体思路是&#xff1a;有两路输入信号&#xff0c;一个选通信号&#xff0c;当选通信号高电平时&#xff0c;按输入1的波形&#xff0c;当选通信号为低电平时&#xff0c;按输入2的波形。 大致波形图如下图&#xff1a; rtl代码如下&#xff1a; module mux2_1 (input wir…

企业应如何选择合适的电子采购软件?

现如今是供应链竞争占据主导地位的互联网时代&#xff0c;如果使用一款高效的电子采购软件&#xff0c;不仅能为企业带来采购时的便捷&#xff0c;还成就了企业整个采购供应链的高速流畅运转&#xff0c;促进买卖双方的良性合作。 现在的市场中电子采购软件有很多&#xff0c;…

【目标检测】Faster R-CNN 论文复现代码(含源代码)

Faster R-CNN 论文复现代码 详细的代码使用守则&#xff1a; https://github.com/biluko/Faster-RCNN-Pytorch博客地址为&#xff1a; https://blog.csdn.net/wzk4869/article/details/128133224?spm1001.2014.3001.5501一、nets文件夹下 init.py classifier.py import w…

算法刷题——二叉树部分操作(翻转二叉树,平衡二叉树,最大深度)

翻转二叉树 package 二叉树.反转二叉树;import 二叉树.TreeNode;import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue;public class Solution {public static void main(String[] args) {TreeNode rootnew TreeNode(1);T…

【Javadoc生成开发文档(Terminal或IDEA中)】

Javadoc生成开发文档一、Javadoc工具介绍二、常用标记三、使用方式四、生成文档的两种方式1.Terminal方式2.IDE方式一、Javadoc工具介绍 大家在查看官网文档的时候&#xff0c;会不会感慨人家的帮助文档写的真有逻辑&#xff0c;层次分明&#xff1f; 不要羡慕&#xff0c;你…

最便宜的唯品会

你买的真的划算吗&#xff1f;这里可以看到什么时候最划算 作为一个每个月在vip上买买买花费几万的资深vip用户&#xff0c;我想给你说的是&#xff0c;VIP上的东西是真的。除了平时的衣服鞋子&#xff0c;再到家里的微波炉、电磁炉、热水壶等小家电&#xff0c;我都是从给vip…

抓包工具简单介绍和 fiddler 安装

目录 1、 抓包工具介绍 2、原理 3、fiddler 安装 1、 抓包工具介绍 抓包工具&#xff0c;是个特殊的软件&#xff0c;相当于一个 “代理程序”&#xff0c;浏览器给服务器发的请求就会经过这个代理程序&#xff0c;进一步的就能分析出请求和响应的结果如何。 通俗的讲&…