Day01

迭代+递归
1 package LeetCode; 2 3 public class L1_ReverseLinkedlist { 4 5 static class ListNode { 6 int val; 7 ListNode next; 8 9 public ListNode(int val, ListNode next) { 10 this.val = val; 11 this.next = next; 12 } 13 } 14 15 //迭代 16 public static ListNode iterats(ListNode head) { 17 ListNode prev = null; 18 ListNode next = null; 19 ListNode curr = head; 20 while ( curr != null) { 21 next = curr.next; 22 curr.next = prev; 23 prev = curr; 24 curr = next; 25 } 26 return prev; 27 } 28 //递归 29 public static ListNode Recursion(ListNode head){ 30 if (head == null || head.next == null){ 31 return head; 32 } 33 ListNode new_head = Recursion(head.next); 34 head.next.next = head; 35 head.next = null; 36 return new_head; 37 } 38 39 public static void main(String[] args) { 40 ListNode node5 = new ListNode(5, null); 41 ListNode node4 = new ListNode(4, node5); 42 ListNode node3 = new ListNode(3, node4); 43 ListNode node2 = new ListNode(2, node3); 44 ListNode node1 = new ListNode(1, node2); 45 46 iterats(node1); 47 ListNode prev = Recursion(node1); 48 System.out.println(prev); 49 } 50 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库