
双指针是在有序数组或链表上常用的优化技巧把 O(n²) 的问题优化到 O(n)。一、移动零publicvoidmoveZeroes(int[]nums){intnonZero0;for(inti0;inums.length;i){if(nums[i]!0){inttempnums[i];nums[i]nums[nonZero];nums[nonZero]temp;nonZero;}}}二、盛最多水的容器publicintmaxArea(int[]height){intmax0,left0,rightheight.length-1;while(leftright){intareaMath.min(height[left],height[right])*(right-left);maxMath.max(max,area);if(height[left]height[right]){left;}else{right--;}}returnmax;}三、环形链表publicbooleanhasCycle(ListNodehead){ListNodeslowhead,fasthead;while(fast!nullfast.next!null){slowslow.next;fastfast.next.next;if(slowfast)returntrue;}returnfalse;} 觉得有用的话点赞 关注【张老师技术栈】吧