力扣linkedlist

反转链表、
public class reverseList {
//    1->2->3->o  、   o<-1<-2<-3public ListNode reverseList(ListNode head){//反转链表ListNode prev=null;ListNode curr=head;while(curr!=null){ListNode next=curr.next;curr.next=prev;prev=curr;curr=next;}return prev;}public static void main(String[] args) {ListNode head = new ListNode(1);head.next = new ListNode(2);head.next.next = new ListNode(3);head.next.next.next = new ListNode(4);head.next.next.next.next = new ListNode(5);reverseList solution = new reverseList();ListNode re = solution.reverseList(head);while (re != null) {System.out.print(re.val + "");re = re.next;}}
}
相交链表、
import java.util.HashSet;
import java.util.Set;
public class interlinkedlist {public ListNode getIntersectionNode1(ListNode headA,ListNode headB){Set<ListNode>set=new HashSet<>();while(headA!=null){set.add(headA.next);headA=headA.next;}while(headB!=null){if(set.contains(headB)){return headB;}headB=headB.next;}return null;}public ListNode getIntersectionNode2(ListNode headA,ListNode headB){if(headA==null||headB==null) return null;ListNode pA=headA,pB=headB;while(pA!=pB){pA=pA==null?headB:pA.next;pB=pB==null?headA:pB.next;}return pA;}// 测试代码public static void main(String[] args) {// 创建两个链表// 链表 A: 4 -> 1 -> 8 -> 4 -> 5// 链表 B: 5 -> 6 -> 1 -> 8 -> 4 -> 5ListNode headA = new ListNode(4);headA.next = new ListNode(1);headA.next.next = new ListNode(8);headA.next.next.next = new ListNode(4);headA.next.next.next.next = new ListNode(5);ListNode headB = new ListNode(5);headB.next = new ListNode(6);headB.next.next = new ListNode(1);headB.next.next.next = headA.next.next; // 相交节点 8headB.next.next.next.next =headA.next.next.next;headB.next.next.next.next.next =headA.next.next.next.next;interlinkedlist solution = new interlinkedlist();ListNode intersection = solution.getIntersectionNode1(headA, headB);if (intersection != null) {System.out.println("Intersected at '" + intersection.val + "'");} else {System.out.println("No intersection");}}
}
class ListNode {int val;ListNode next;public ListNode() {}public ListNode(int val, ListNode next) {this.val = val;this.next = next;}ListNode(int x) {this.val = x;this.next = null;}
}
回文链表、
//核心思想是通过递归的方式从链表的尾部向前进行比较,同时用一个前指针从头部向尾部进行比较
package org.example;
public class PalindromeLinkedList {private ListNode frontPointer;private boolean recursivelyCheck(ListNode currentNode) {if (currentNode != null) {if (!recursivelyCheck(currentNode.next)) {return false;}if (currentNode.val != frontPointer.val) {return false;}frontPointer = frontPointer.next;}return true;}public boolean isPalindrome(ListNode head) {frontPointer = head;return recursivelyCheck(head);}public static void main(String[] args) {// 创建链表 1 -> 2 -> 2 -> 1ListNode node1 = new ListNode(1);ListNode node2 = new ListNode(2);ListNode node3 = new ListNode(2);ListNode node4 = new ListNode(3);node1.next = node2;node2.next = node3;node3.next = node4;PalindromeLinkedList solution = new PalindromeLinkedList();boolean result = solution.isPalindrome(node1);System.out.println("链表是否是回文: " + result);}
}

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

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

相关文章

AI免费插件 批量条码大师,支持100多种条码类型

没想到在网上看到一款和之前 悟空条码 类似的条码插件&#xff0c;叫批量条码大师&#xff0c;他做的比 悟空条码 功能更强&#xff0c;界面更美观&#xff0c;特分享出来给大家。 本插件采用了BWIPJS条码库&#xff0c;支持110种条码、二维码的生成; 支持批量生成&#xff0c;…

爱堡集团数智掘金—共绘上市蓝图

&#xff08;本台记者报&#xff09;2024年5月26日爱堡集团在浙江省杭州市上城区瑞莱克斯大酒店隆重召开规模达500人的盛会。这场聚焦智慧与创新的会议&#xff0c;旨在加速爱堡集团的数智化转型进程&#xff0c;并为其上市之路绘制蓝图&#xff0c;吸引了众多行业领袖和媒体的…

Qt 插件机制使用及原理

目录 1.引言 2.插件原理 3.插件实现 3.1.定义一个接口集(只有纯虚函数的类) 3.2.实现接口 4.插件的加载 4.1.静态插件 4.1.1.静态插件实现方式 4.1.2.静态插件加载的过程 4.1.3.示例 4.2.动态插件 4.2.1.动态插件的加载过程 5.定位插件 6.插件开发的优势 7.总结…

GPT-4o有点坑

GPT-4o有点坑 0. 前言1. GPT-4o简介2. GPT-4o带来的好处2.1 可以上传图片和文件2.2 更丰富的功能以及插件 3. "坑"的地方3.1 使用时间短3.2 GPT-4o变懒了 4. 总结 0. 前言 原本不想对GPT-4o的内容来进行评论的&#xff0c;但是看了相关的评论一直在说&#xff1a;技…

Ai晚班车531

1.中央网信办等三部门&#xff1a;加快推进大模型、生成式人工智能标准研制。 2.中国石油与中国移动、华为、科大讯飞签署合作协议。 3.Opera浏览器与谷歌云合作&#xff0c;接入 Gemini 大模型。 4.谷歌 Gemini 加持Chromebook Plus。 5.英飞凌&#xff1a;开发 8kW和12kW…

速盾:cdn和udp的区别?

CDN&#xff08;Content Delivery Network&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;是网络领域中常用的两个术语&#xff0c;分别代表了不同的技术和功能。下面将分别介绍它们的区别。 功能和应用场景 CDN是一种分布式架构的网络服务&#xff0c;通过在…

改进YOLOv8系列:构建新型单头transformer模块,加入到骨干尾部

改进YOLOv8系列:构建新型单头transformer模块,加入到骨干尾部 需要修改的代码self attention代码创建yaml文件测试是否创建成功本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方式,在本文中具有完整的代码和包含多种更有效加入YOLOv8中的yaml结构,读者…

【论文导读】Grid Graph Reduction for Efficient Shortest Pathfinding(2023 Access)

Grid Graph Reduction for Efficient Shortest Pathfinding 作者&#xff1a;CHAN-YOUNG KIM AND SANGHOON SULL 文章提出了一种“基于模式识别的网格阻塞”&#xff08; Pattern-Based Blocking on grid graphs&#xff0c;PBGG&#xff09;的预处理方法&#xff0c;以加快最…

XML Web 服务技术解析:WSDL 与 SOAP 原理、应用案例一览

XML Web服务是一种用于在网络上发布、发现和使用应用程序组件的技术。它基于一系列标准和协议&#xff0c;如WSDL、SOAP、RDF和RSS。下面是一些相关的内容&#xff1a; WSDL&#xff08;Web服务描述语言&#xff09;&#xff1a;用于描述Web服务的基于XML的语言&#xff0c;定义…

安卓手机APP开发___广播概述

安卓手机APP开发___广播概述 目录 概述 关于系统广播 系统广播所发生的更改 接收广播 清单声明的接收器 上下文注册的接收器 对进程状态的影响 发送广播 通过权限限制广播 带权限的发送 带权限的接收 安全注意事项和最佳做法 概述 Android 应用可以通过 Android …

数据分析案例-在线食品订单数据可视化分析与建模分类

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

springmvc揭秘参数解析

参数解析 说到参数解析&#xff0c;springmvc中处理参数的是HandlerMethodArgumentResolver接口 public interface HandlerMethodArgumentResolver { // 判断是否支持该类型参数 boolean supportsParameter(MethodParameter parameter); // 进行参数解析 Object resolv…

[羊城杯 2021]BabySmc

运行就是输入flag 不知道怎么跳过去的 这个应该就是smc加密的函数了 运行完这个函数才能继续往下 int __cdecl main(int argc, const char **argv, const char **envp) {__int64 v3; // rbx__int64 v4; // r12__int64 v5; // r13unsigned __int64 v6; // raxchar v7; // spcha…

学习Vue中图片上传前进行压缩的实现方法

学习Vue中图片上传前进行压缩的实现方法 一、前言1. 为什么要在客户端进行图片压缩&#xff1f;2. Vue组件中实现图片上传前压缩的方法3. 注意事项与优化4. 总结 一、前言 在Web开发中&#xff0c;图片上传是一个常见的功能需求&#xff0c;而客户端对图片进行压缩可以有效减小…

企业如何进行快递运费对账?

在电子面单寄件取代手写纸质面单之后&#xff0c;加上月结寄件模式的推行&#xff0c;企业快递运费对账&#xff0c;成了行政的一个难题...... 早期的手写纸质面单寄件&#xff0c;企业行政或者财务相关人员&#xff0c;遵循寄前审批&#xff0c;寄后报销的原则进行对账。随着电…

FinalShell无法连接Linux

Linux使用Vmware会创建一个网络&#xff0c;让两个子网处于一个网关&#xff0c;这样就能在windows中连接Linux&#xff0c;只有在这种情况下才能FinalShell才能连接Linux

面试题合集(2)

1. Self Attention的时候 Q K T QK^T QKT之后要除以 d ? \sqrt{d}? d ​? 参考苏剑林大神&#xff1a; 浅谈Transformer的初始化、参数化与标准化 模型初始化&#xff1a;介绍了常用的采样分布&#xff0c;包括正态分布、均匀分布和截尾正态分布。并从代数角度理解初始化方…

module_param的用法

在Linux内核模块编程中,`module_param`宏允许你声明一个模块参数。模块参数是指可以在加载模块时从命令行设置的参数,也可以通过/sys文件系统(如果内核配置了CONFIG_SYSFS)在模块加载后进行修改。这些参数对于调整模块的行为而不需要重新编译模块代码非常有用。 使用方法 …

KT6368A双模蓝牙芯片上电到正常发送AT指令或指令复位需要多久

一、简介 KT6368A芯片上电到正常发送AT指令&#xff0c;或者开启蓝牙广播被搜索到&#xff0c;或者指令复位需要多久等等系列问题总结 详细描述 其实这些问题归结到一起&#xff0c;就还是一个问题&#xff0c;芯片上电需要多久的时间 在另外一份文档里面&#xff0c;是有描…

跟我学C++中级篇——if constexpr的应用

一、场景应用 在一个开发场景下&#xff0c;需要动态处理不同类型的数据写入。本来这个非常简单&#xff0c;只要定义一个模板即可搞定&#xff0c;但这里偏偏有一个细节&#xff0c;是调用别人的库来实现写入。而这个库对不同的数据类型的写入&#xff0c;提供了N种不同的函数…