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