力扣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.pswp.cn/bicheng/19847.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/19847.shtml
英文地址,請注明出處:http://en.pswp.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種不同的函數…