没有用到双指针,也没有其他题解的图 思维也很简单,适合小白理解

void func(int* p, int n) 
{

    // write your code here......
    for(int i=0; i<n; i++)
    {
        if(p[i]==0)
        {
            for(int j=i; j<n-1; j++)
                p[j] = p[j+1];//把字符往前移动
            p[n-1] = 0;//将最后一个设置为0
            n--;//缩短数组遍历长度
            /*感谢大神的意见,对于多个0可加上如下注释代码*/
            //if(p[i]==0)
            //{
            //	i--;
            //}
        }
    }

}