LeetCode刷题笔记
每天三题,为期一年
佩琪狗狗
这个作者很懒,什么都没留下…
展开
-
双指针的例题
删除排序数组中的重复项只要nums[i]==nums[j]就跳过重复项(利用j++)如果不等就把j的值赋给i+1,然后i++class Solution { public int removeDuplicates(int[] nums) { int i=0,j=1; while(j<nums.length){ if(nums[i]==nums[j]){ j++; }else.原创 2020-12-07 15:33:15 · 66 阅读 · 0 评论 -
剑指 Offer 58 - II. 左旋转字符串
1.字符串切片class Solution { public String reverseLeftWords(String s, int n) { return s.substring(n)+s.substring(0,n); }}2.列表遍历拼接class Solution { public String reverseLeftWords(String s, int n) { StringBuilder a=new StringBuilde原创 2020-12-06 16:35:41 · 76 阅读 · 0 评论 -
左旋转字符串的多种解法
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。1.字符串切片return s.substring(n, s.length()) + s.substring(0, n);2.字符串遍历拼接(str.charAt(0)检索str中的第一个字符,str.charAt(str.length()-1)检索最后一个字符.) String reverseLeftWords(String s, int n) { char[] ch原创 2020-06-07 16:01:03 · 158 阅读 · 0 评论 -
求解1+2+...+n的特殊方法
求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)1.递归法运用逻辑运算符的短路效应,n > 1 && sumNums(n - 1) // 当 n = 1 时 n > 1 不成立 ,此时 “短路” ,终止后续递归 boolean flag=n>0&&(n+=sumNums(n-1))>0;2.利用捕获异常1.先做一个递归从n加到02.在0的时候捕获异常:利原创 2020-06-07 15:22:22 · 781 阅读 · 0 评论