public int removeElement(int[] nums, int val) {
          int len = nums.length;
        //考虑特殊情况
          if (len == 0) {
              return 0;
          }
          int i = 0;
          for (int j = 0; j < nums.length; ++j) {
                //如果等于目标值,则删除
                if (nums[j] == val) {
                    continue;
                }
                // 不等于目标值时,则赋值给num[i],i++
                nums[i++] = nums[j];
          }
          return i;
    }
public int findMaxConsecutiveOnes(int[] nums) {
        int length=nums.length;
        int i=0;
        int j=0;
        for(int k=0;k<length;k++){
            //如果数值等于1,就将i自增
            if(nums[k]==1){
                i++;
            }else{
            //否则的话,保存i和j之中的大值,令i=0,重新开始计数
                j=Math.max(i,j);
                i=0;
            }
        }
        //最后输出两者之中的较大值
        return Math.max(i,j);
    }
public int[] plusOne(int[] digits) {
        int s=digits.length;
        //从个位开始,加1并模10
        for(int i=s-1;i>=0;i--){
            digits[i]++;
            digits[i]%=10;
            //如果不等于0,直接输出
            if(digits[i]!=0){
                return digits;
            }
        }
        //循环完毕,模10的值全部等于0;则直接定义新数组,最高位为1,其余为0,直接输出。
        int[] arr = new int[s+1]; 
        arr[0] = 1;
        return arr;
    }
原文:https://www.cnblogs.com/dong-qing/p/14604784.html