网站开发技术课程设计说明书,wordpress如何换成经典编辑器,山东企业,宜宾建功路桥建设有限公司网站删除重复元素
题目#xff1a;//给你一个 非严格递增排列 的数组 nums #xff0c;请你 原地 删除重复出现的元素#xff0c;使每个元素 只出现一次 #xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数 思路#xff1a…删除重复元素
题目//给你一个 非严格递增排列 的数组 nums 请你 原地 删除重复出现的元素使每个元素 只出现一次 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数 思路 快指针遍历数组 慢指针记录保留的
int removedup(vectorint nums){int len nums.size();int fast 1;//快指针遍历数组int slow 1; //慢指针记录保留的if(len 0){//参数校验return 0;}while(fast len){if(nums[fast] ! nums[fast-1]){nums[slow]nums[fast];slow;}fast;}return slow;
}反转链表
1、先用c记录b一会的位置 2、然后b指向a节点 3、然后ab后往后移动一个 循环此过程
/翻转链表(迭代版本)
struct ListNode{int val;ListNode *next;ListNode(int x): val(x),next(NULL){}
};
ListNode* ReverseList(ListNode* head){if(!head || !head-next) return head; //只有一个结点或者节点为空auto a head;//自动匹配类型auto b head-next;while(b){auto c b-next;//记录一下b一会的位置b-next a;a b;b c;}head-next NULL;return a;
}///反转链表和上面一样效果
class Solution {
public:ListNode* reverseList(ListNode* head) {ListNode* prev nullptr;while (head) {ListNode* next head-next;head-next prev;prev head;head next;}return prev;}
};