算法
文章平均质量分 50
k_dsc_csdn
JAVA学习者
展开
-
Leetcode234.回文链表
Leetcode234.回文链表 题目地址 234.回文链表 题目详情 请判断一个链表是否为回文链表。 示例 输入: 1->2->2->1 输出: true 说明 用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题 思路 可以借鉴判断数组是否是回文数的思想:双指针。扩展到链表中,则为快慢指针(fast-slow),即慢指针每次前进一个,快指针每次前进两个,初始化都在head。 主要思想:当fast指针下次移动到nil处(或遍历完链表)时,根据链表长度的奇偶性,可分为以下两种情况。原创 2021-04-27 11:05:47 · 106 阅读 · 0 评论 -
Leetcode283.移动零
Leetcode283.移动零 题目地址 283.移动零 题目详情 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 示例 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 说明 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 思路 借鉴快速排序的思想,使用双指针方法来实现:left、right指针初始在数组0位置。left表示[0,left)这个区间中数字都不为0,right负责遍历整个数组。为了保证非零元素的相对顺序,当ri原创 2021-04-20 20:24:19 · 66 阅读 · 0 评论