LeetCode Move Zero Double Pointer Java

Insérez la description de l'image ici
Idée: Ce problème est similaire au problème du déplacement d'éléments simples . Il s'agit également d'un double pointeur, sauf que les zéros supprimés à l'avant doivent être supprimés et placés à la fin.

class Solution {
    
    
    public void moveZeroes(int[] nums) {
    
    
        int length=nums.length;
        int l=0;
        int r=0;
        int count=0;   //统计零的个数
        while(r<length){
    
    
          
            if(nums[r]==0){
    
    
                r++;
                count++;
            }
            else{
    
    
                nums[l]=nums[r];
                l++;
                r++;
            }
        }               
                for(int i=length-count;i<length;i++)
                nums[i]=0;
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/qq_44844588/article/details/108139876
conseillé
Classement