嘉兴网站建设方案微信朋友圈广告怎么推广

张小明 2026/1/13 7:36:49
嘉兴网站建设方案,微信朋友圈广告怎么推广,wordpress页面参数,上海知名建站公司给一个链表#xff0c;判断这个链表是否为回文链表。能否使用O(1)的空间复杂度解决问题#xff1f;思路1#xff1a;使用辅助空间#xff0c;我们这里给出了使用动态数组作为检查表#xff0c;给出了两种实现方式#xff0c;但是这种实现方式效率不高。​ public class L…给一个链表判断这个链表是否为回文链表。能否使用O(1)的空间复杂度解决问题思路1使用辅助空间我们这里给出了使用动态数组作为检查表给出了两种实现方式但是这种实现方式效率不高。​ public class ListNode { public int val; public ListNode next; public ListNode(int x) { this.val x; this.next null; } public static ListNode createList(int[] nums) { if(null nums || 0 nums.length) return null; ListNode head new ListNode(nums[0]); ListNode needle head; for(int i 1; i nums.length;i) { ListNode node new ListNode(nums[i]); needle.next node; needle needle.next; needle.next null; } return head; } }import java.util.ArrayList; import java.util.List; class Solution { public boolean isPalindrome(ListNode head) { if (null head || null head.next) return true; ListInteger all new ArrayListInteger(); while (head ! null) { all.add(head.val); head head.next; } for (int i 0; i all.size() / 2; i) { if ((int) all.get(i) ! (int) all.get(all.size() - 1 - i)) return false; } return true; } public static void main(String[] args) { int[] nums1 { 1, 2, 4, 2, 1 }; ListNode l1 ListNode.createList(nums1); boolean result new Solution().isPalindrome(l1); System.out.print(result); } }思路2使用O(1)空间复杂度即需要的临时空间较少且跟链表长度没有关系我们这里给出了两种实现方式实现思路相同。使用快慢指针找到中间结点位置一种是反转链表的前半部分一种是反转链表的后半部分反转后半部分更容易实现效率也要高。class Solution { public boolean isPalindrome(ListNode head) { if (null head || null head.next) return true; // 找中间位置开始 ListNode fast head; ListNode faster head; while (faster ! null faster.next ! null) { fast fast.next; faster faster.next.next; } // 找中间位置结束 // 反转fast之前的所有元素 // pre指向当前结点的前驱反转后第一个结点的后继 ListNode pre null; // 指向当前遍历的结点 ListNode cur head; while (cur ! fast) { // 记录当前结点的下一个结点否则执行下一条一句就丢了后面没有反转的剩余结点 ListNode next cur.next; // 真正的反转指针变化方向因为链表最后一个结点的next为空这也是为什么pre的初始值为null cur.next pre; // 向后继续遍历剩余未反转的结点pre和cur均要向后移动一位 pre cur; cur next; } // 到此cur指向fast而pre指向了最后一个被反转的结点也就是新链表的头 // 比较元素值是否相同开始 // 链表元素个数为奇数个的情况 if (null ! faster null faster.next)// odd fast fast.next; // 比较反转后的[pre,fast)与[fast,tail]到链表尾部 while (pre ! null fast ! null) { if (pre.val ! fast.val) return false; pre pre.next; fast fast.next; } // 比较元素值是否相同结束 return true; } public static void main(String[] args) { int[] nums1 { 1, 2, 4, 2, 1 }; ListNode l1 ListNode.createList(nums1); boolean result new Solution().isPalindrome(l1); System.out.print(result); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

义乌做网站的公司有哪些山西省住房和城乡建设厅网站

DoL-Lyra整合包全面评测:从入门到精通的终极指南 【免费下载链接】DoL-Lyra Degrees of Lewdity 整合 项目地址: https://gitcode.com/gh_mirrors/do/DoL-Lyra 在游戏模组整合领域,DoL-Lyra整合包凭借其卓越的稳定性和丰富的内容扩展赢得了广泛好…

张小明 2025/12/31 21:05:56 网站建设

怎么攻击织梦网站免费的微信小程序

VOSK 是一个开源的语音识别(ASR,Automatic Speech Recognition)工具包,主要用于将语音转换成文本。它支持多种语言,可以在离线环境下运行,适合嵌入式设备、移动端应用,或者需要低延迟、高隐私的…

张小明 2026/1/2 4:52:15 网站建设

高端网站设计哪家好如何自己制作网站

群晖Video Station智能元数据抓取插件深度使用手册 【免费下载链接】syno-videoinfo-plugin A simple web scraping plugin for Synology Video Station 项目地址: https://gitcode.com/gh_mirrors/sy/syno-videoinfo-plugin 开篇寄语:告别手动整理&#xff…

张小明 2026/1/10 6:02:08 网站建设

该网站想要跳转百度appwordpress 问答模板

还在为Windows掌机原厂控制器的兼容性问题而困扰吗?HandheldCompanion作为一款开源的控制器服务软件,正在重新定义掌机用户的游戏体验。这款功能全面的工具为各类掌机设备提供了完整的输入管理和虚拟控制器支持,让游戏操作变得流畅自然。 【免…

张小明 2026/1/10 18:33:28 网站建设

网站栏目功能分析建设网站建设

在 Git 中,tag(标签)是用于标记仓库历史中特定提交的快照,通常用于标识版本发布,方便后续快速回溯到某个稳定版本。与分支不同,标签是静态的,一旦创建不会随新提交自动移动,而分支是…

张小明 2026/1/7 1:14:22 网站建设

php做教育网站网站最下端怎么做

Git 合并分支与拉取操作详解 1. 合并两个分支(git merge) git pull 的第二步是运行 git merge FETCH_HEAD 。 FETCH_HEAD 是对前一个部分中刚获取的远程分支的引用。每次运行 git fetch 时, FETCH_HEAD 都会包含远程 HEAD 的 SHA1 ID, git merge 可以使用这…

张小明 2026/1/3 5:17:47 网站建设