![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
「已注销」
这个作者很懒,什么都没留下…
展开
-
剑指offer 25.合并两个排序链表
转载:链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/solution/he-bing-liang-ge-pai-xu-de-lian-biao-die-dai-di-gu/题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4转载 2020-09-04 20:20:52 · 213 阅读 · 0 评论 -
leetcode: 11.盛水最多的容器
leetcode: 11.盛水最多的容器给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49解析(c++):双指针两边走时间复杂度:O(n)空间复杂度:O(1)class Solution转载 2020-08-16 21:08:35 · 124 阅读 · 0 评论 -
leetcode:15.三数之和
leetcode:15.三数之和给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[[-1, 0, 1],[-1, -1, 2]]解析(c++):哈希+双指针时间复杂度:o(n)空间复杂度:o(n)class Solution {p转载 2020-08-16 21:10:16 · 115 阅读 · 0 评论 -
剑指offer:24.反转链表
剑指offer:24.反转链表定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解析(c++):双指针时间复杂度:o(n)空间复杂度:o(n)class Solution {public: ListNode* reverseList(ListNode* head) { if (head翻译 2020-08-12 11:21:06 · 158 阅读 · 0 评论 -
leetcode:141.环形链表
leetcode:141.环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。解析(c++):快慢指针时间复杂度:o(n)空间复杂度:o(1)class Solution {public: bool hasCycle(ListNode *head) { if(!head || !head->next) return nullptr原创 2020-08-12 11:16:52 · 78 阅读 · 0 评论 -
leetcode:70.爬楼梯
leetcode:70.爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。4. 1 阶 + 1 阶 + 1 阶5. 1 阶 + 2 阶6. 2 阶 + 1 阶解析(c++):动态规划:时间复杂度:0(n)空间复原创 2020-08-12 11:12:02 · 79 阅读 · 0 评论 -
LeetCode:20.有效括号
LeetCode:20.有效括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true解析(c++):栈时间复杂度:o(n)时间复杂度:o(n)class Solution {public: bool isValid(str转载 2020-08-12 11:06:51 · 126 阅读 · 0 评论 -
LeetCode:242. 有效的字母异位词
LeetCode:242. 有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false解析(c++):创建一个数组判断时间复杂度:o(n)空间复杂度:o(n)class Solution {public: bool isAnagram(string s, string t)原创 2020-08-12 10:59:57 · 86 阅读 · 0 评论 -
剑指offer:09.用两个栈实现队列
剑指offer:09.用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )class CQueue { stack<int> stack1,stack2;public: CQueue() { while (!stack1.empty()) { stac转载 2020-08-12 10:47:28 · 128 阅读 · 0 评论 -
剑指offer:59-I.滑动窗口的最大值
剑指offer:59-I.滑动窗口的最大值给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。解析(c++):采用双端队列,最大值放在队首,队列递减排列时间复杂度:o(n)空间复杂度:O(n)class Solution {public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int> maxInWindow;原创 2020-08-12 10:38:39 · 70 阅读 · 0 评论 -
LeetCode:94.二叉树的中序遍历
LeetCode:94.二叉树的中序遍历给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3]12/3输出: [1,3,2]解析(c++):方法一:递归时间复杂度:O(n)空间复杂度:O(logn)class Solution {public: void mid_order(TreeNode* root, vector<int>& ret) { if (root == NULL) { return; } mid_ord原创 2020-08-12 10:24:40 · 85 阅读 · 0 评论 -
leetcode:面试题 17.14. 最小K个数
面试题 17.14. 最小K个数设计一个算法,找出数组中最小的k个数。以任意顺序返回这k个数均可。示例:输入: arr = [1,3,5,7,2,4,6,8], k = 4输出: [1,2,3,4]解析(c++):大根堆。时间复杂度:O(nlogk)空间复杂度:O(n)class Solution {public: vector<int> smallestK(vector<int>& arr, int k) { vector<原创 2020-08-12 10:13:58 · 196 阅读 · 0 评论 -
LeetCode:347.前k个高频元素
LeetCode:347.前k个高频元素题目:给定一个非空的整数数组,返回其中出现频率前 k 高的元素。示例 1:输入: nums = [1,1,1,2,2,3], k = 2输出: [1,2]示例 2:输入: nums = [1], k = 1输出: [1]题解(c++):哈希+优先队列提交结果:class Solution {public: vector<int> topKFrequent(vector<int>& nums, int原创 2020-08-12 09:50:36 · 90 阅读 · 0 评论