自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 图解清晰易懂——两两交换链表中的节点_100%

两两交换链表中的节点,题中要求不可以只进行值的交换,要真正的改变链表中的节点tips 节点两两交换操作与206.反转链表相同就是先反转两个节点,再与之后被反转的两个节点连接在一起如果是奇数个节点,那么就把最后一个节点连接上代码剖析展示自定义节点的具体作用 ListNode curr=null; ListNode prev=head; ListNode temp=null; ListNode linkNode=null;

2021-08-09 10:42:49 229

原创 59. 螺旋矩阵 II__模拟法,形象生动代码解读包教包会

59. 螺旋矩阵 II模拟法就是模拟数字填写的轨道,像一辆火车慢慢的行驶在设定的螺旋轨道上面left、right、top、bottom就是起到约束作用的轨道过程:一 for (int i = left; i <=right ; i++) result[top][i]=num++; top++;这一段是从left到right的轨道从left向right方向行驶 (沿top=0这行轨道)行驶到边界的时候停车top方向向下移动一行二

2021-08-08 13:13:35 101

原创 209. 长度最小的子数组

209. 长度最小的子数组滑动窗口就是一个动态变化的区间如果窗口区域内元素之和 <target 就扩大窗口,反之就缩小窗口其实还是类似于双指针的应用,只不过双指针被隐式调用class Solution { public int minSubArrayLen(int target, int[] nums) { int result=Integer.MAX_VALUE; int start=0; int windowsLength=0; i

2021-08-08 10:32:50 67

原创 977. 有序数组的平方

977. 有序数组的平方首先想到的肯定还是暴力解法平方再排个序,但如果这样写就没有写的必要了双指针一个left指针,一个right指针,哪一个指针所在index的绝对值较大就将该元素的平方添加到result数组的末尾,for循环完毕则运算结束。class Solution { public int[] sortedSquares(int[] nums) { int length=nums.length; int[] result=new int[length

2021-08-08 09:24:53 98

原创 27. 移除元素_解题思路与注意事项_代码分析

27. 移除元素移除元素移除元素并不是真正的移除,而是将未被元素调换到数组的前部较快的解决办法:就是遍历整个数组如果数组中的元素满足**!=val的条件,那么就把这个元素“挪动”到数组的前部,遍历结束的时候,整个数组也就完成了元素的前部置换,也就满足了题目的要求,index的大小自然随着挪动次数的自增就是移除val值元素之后的数组元素个数**该解法的不足之处挪动元素的操作执行了nums.length次,在起始元素不为val时,显然其中很多次挪动操作可能是无意义的,执行的很可能是nums[i]=n

2021-08-08 08:44:40 100

原创 704_二分查找_解题思路与注意事项

704. 二分查找二分查找的注意点:选择合适的查找区间:首先应该选择好每一次进行查找的的区间如果while循环中定义的条件是left<=right,那么代表所选择的区间是[left,right],也就是说当left==right的时候区间中还是存在有效值的。确定区间的变化规律:left与right如何进行变化根据选择的left<=right查找区间,可知如果target元素存在,那么target元素一定存在于**[0,mid)||(mid,end]区间中,也就是mid位置没有可能存在

2021-08-08 06:56:41 96

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除