随笔分类 -  leetcode

上一页 1 ··· 8 9 10 11 12
摘要:1 用容器set 2 用哈希表 3 用双指针法 1 class Solution { 2 public: 3 ListNode* detectCycle(ListNode* head) { 4 set<ListNode*> exclude; 5 ListNode* p,*res; 6 p = hea 阅读全文
posted @ 2023-02-23 10:55 xiazichengxi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:1 //暴力法 2 ListNode* getIntersectionNode(ListNode* headA, ListNode* headB) { 3 if (headA == nullptr || headB == nullptr) return nullptr; 4 ListNode* p, 阅读全文
posted @ 2023-02-22 13:15 xiazichengxi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), nex 阅读全文
posted @ 2023-02-21 12:37 xiazichengxi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 1 class Solution { 2 public: 3 ListNode* swapPairs(ListNode* head) { 4 if(head==nullptr| 阅读全文
posted @ 2022-12-14 18:03 xiazichengxi 阅读(18) 评论(0) 推荐(0) 编辑
摘要:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 1 struct ListNode{ 2 int val; 3 ListNode* next; 4 ListNode() : val(0), next(nullptr) {} 5 ListNode(int x) : val(x), 阅读全文
posted @ 2022-12-14 17:31 xiazichengxi 阅读(15) 评论(0) 推荐(0) 编辑
摘要:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。 在链表类中实现 阅读全文
posted @ 2022-12-13 11:54 xiazichengxi 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题意:删除链表中等于给定值 val 的所有节点。 示例 1:输入:head = [1,2,6,3,4,5,6], val = 6输出:[1,2,3,4,5] 示例 2:输入:head = [], val = 1输出:[] 示例 3:输入:head = [7,7,7,7], val = 7输出:[] 阅读全文
posted @ 2022-12-12 16:10 xiazichengxi 阅读(10) 评论(0) 推荐(0) 编辑
摘要:给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 思路:原本的思路是将数组排序然后从右 阅读全文
posted @ 2022-12-07 15:24 xiazichengxi 阅读(12) 评论(0) 推荐(0) 编辑
摘要:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] 解释:平方后,数组变为 [16,1,0,9,100],排序后,数组变为 [0,1,9, 阅读全文
posted @ 2022-11-30 18:28 xiazichengxi 阅读(19) 评论(0) 推荐(0) 编辑
摘要:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 class Solution { public: string replaceSpace(string s) { int len = s.size(); int count = 0; //统计空格数量 for (char& c : s) 阅读全文
posted @ 2022-10-14 11:56 xiazichengxi 阅读(17) 评论(0) 推荐(0) 编辑
摘要:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 思路1:利用哈希表来进行链表指针的存储 即将链表问题转换为数组,以便于直接存取 头文件的导入:#includ 阅读全文
posted @ 2022-10-13 15:07 xiazichengxi 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1.迭代:采用三个指针,来反转链表 class Solution { public: ListNode* reverseList(ListNode* head) { ListNode* cur = head; ListNode* pre = nullptr; while(cur){ ListNode 阅读全文
posted @ 2022-09-30 11:09 xiazichengxi 阅读(25) 评论(0) 推荐(0) 编辑
摘要:只给头节点,可利用其线性特征,利用head->next遍历链表,将元素入栈; 利用栈先进后出的特征,元素出栈保存到辅助vector中,返回vector; 函数push_back() :将元素放入数组最后一个元素后面 class Solution { public: vector<int> rever 阅读全文
posted @ 2022-09-26 15:39 xiazichengxi 阅读(13) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12
点击右上角即可分享
微信分享提示
主题色彩