知识点

LeetCode算法题

  1. LeetCode算法题

    1. 复习

      1. 316.【去除重复字母】/1081.【不同字符的最小子序列】

        解题思路:

        首先梳理出题目要求:1、去重;2、不能打乱相对顺序;3、字典序最小

        首先,利用栈完成要求1和2,然后配合int数组完成要求3

      2. 26.【删除有序数组中的重复项】

        解题思路:

        快慢指针,fast在前面探路,如果找到不和slow相同的元素,则slow向前一步,然后将不重复元素赋给slow,最后返回slow+1的长度。

      3. 27.【移除元素】

        解题思路:

        快慢指针,slow和fast从0开始,如果fast的元素不是val,就将fast的元素赋值给slow,然后slow前进,fast前进;如果fast的元素等于val,说明该元素需要去除,所以不赋值给slow,slow不动,fast继续前进。最后返回slow。

      4. 283.【移动零]

        解题思路:

        快慢指针,slow和fast从0开始,如果fast的元素不是0,就将fast的元素赋值给slow,然后slow前进,fast前进;如果fast的元素等于0,说明不需要赋值,slow不动,fast前进。最后将slow后的元素都赋值为0即可。