顺序表oj

一些练习题关于顺序表

    • 1.力扣27.[移除元素](https://leetcode-cn.com/problems/remove-element/)
    • 2.力扣26.[删除有序数组中的重复项](https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/submissions/)
    • 3.力扣88.[合并两个有序数组](https://leetcode-cn.com/problems/merge-sorted-array/)
    • 4.力扣189.[旋转数组](https://leetcode-cn.com/problems/rotate-array/submissions/)
    • 5.力扣989.[数组形式的整数加法](https://leetcode-cn.com/problems/add-to-array-form-of-integer/)

1.力扣27.移除元素

顺序表oj_第1张图片
顺序表oj_第2张图片

思路:用两个指针src和dst,src等于val就让它往后面走,不相等就把这个值给dst
特殊情况:例如数组全是1,val也是1while循环跑到终止,dst为0符合题目要求

顺序表oj_第3张图片

2.力扣26.删除有序数组中的重复项

顺序表oj_第4张图片

顺序表oj_第5张图片

思路:用三个指针,dst、cur、next,dst用来存放数据,next用来和cur做比较

有两点要注意:
1、数组全为一样的数字
2、数组前几个数字是一样的			

顺序表oj_第6张图片

3.力扣88.合并两个有序数组

顺序表oj_第7张图片

顺序表oj_第8张图片

思路:根据题目描述着两个数组都是递增序列,所以我们可以通过比较这两个数组最大值的大小,然后把大的数字放在nums1数组的最后面,依次类推。

顺序表oj_第9张图片

4.力扣189.旋转数组

顺序表oj_第10张图片
顺序表oj_第11张图片

思路:可以通过多次旋转来实现,第一次旋转整体,然后在旋转前k个,最后旋转后k个

顺序表oj_第12张图片

5.力扣989.数组形式的整数加法

顺序表oj_第13张图片
顺序表oj_第14张图片

思路:逐位相加,然后进一。例如A是1200,k是34,先算各位0+4=4,然后把他保存在开辟的空间内,k在除以10。如果得到的结果大于10,就把这个进位加到k上,在依次类推

顺序表oj_第15张图片
顺序表oj_第16张图片

你可能感兴趣的:(数据结构,数据结构)