![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
wonderabd
这个作者很懒,什么都没留下…
展开
-
[LeetCode]227. 基本计算器 II
参考了评论区ID“这个昵称不太火”的思路。 分为三步 取数值和运算符; 处理乘除法(优先运算); 处理加减法。 227. 基本计算器 II class Solution { public: int calculate(string s) { int tip=s.size(); vector<int> num; vector&l...转载 2019-04-27 22:22:15 · 75 阅读 · 0 评论 -
[LeetCode]205. 同构字符串/207. 课程表
题目描述:给定两个字符串 s 和 t,判断它们是否是同构的。 如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。 所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。 题目链接:205. 同构字符串 map class Solution { public: bool isIsomorphic(string s...原创 2019-07-31 23:17:37 · 115 阅读 · 0 评论 -
[LeetCode]219. 存在重复元素 II
题目描述:给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k。 题目链接:219. 存在重复元素 II 用map解决,tip[i]表示数i最后出现的位置。 class Solution { public: bool containsNearbyDuplicate(vecto...原创 2019-07-18 23:56:34 · 108 阅读 · 0 评论 -
[LeetCode]206. 反转链表
题目描述:反转一个单链表。 题目链接:206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solu...原创 2019-07-18 23:29:20 · 95 阅读 · 0 评论 -
[LeetCode]208. 实现 Trie (前缀树)
题目描述:实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 题目链接:208. 实现 Trie (前缀树) class Trie { public: /** Initialize your data structure here. */ Trie* next[35]; bool is_str; //是否是完整的...原创 2019-07-18 23:07:24 · 221 阅读 · 0 评论 -
[LeetCode]337. 打家劫舍 III
题目描述:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。 题目链接:337. 打家...原创 2019-06-09 15:30:04 · 115 阅读 · 0 评论 -
[LeetCode]456.132模式
题目描述:给定一个整数序列:a1, a2, …, an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。 题目链接:456.132模式 思路参考评论区: last用来存储132中的2,即栈中小于当前值的最大元素,在操作过程中...原创 2019-05-22 16:55:07 · 100 阅读 · 0 评论 -
[LeetCode]112. 路径总和
题目描述:给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 题目链接:112. 路径总和 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; *...原创 2019-05-21 16:01:23 · 79 阅读 · 0 评论 -
[LeetCode]129. 求根到叶子节点数字之和
题目描述:给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。 例如,从根到叶子节点路径 1->2->3 代表数字 123。 计算从根到叶子节点生成的所有数字之和。 题目链接:129. 求根到叶子节点数字之和 /** * Definition for a binary tree node. * struct TreeNode { *...原创 2019-05-21 15:51:11 · 76 阅读 · 0 评论 -
[LeetCode]215. 数组中的第K个最大元素
题目描述:在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 题目链接:215. 数组中的第K个最大元素 维护一个大小为k的小根堆,存数组中最大的k个元素。 class Solution { public: int findKthLargest(vector<int>& nums, int k...原创 2019-05-19 15:15:25 · 83 阅读 · 0 评论 -
[LeetCode]203. 移除链表元素
ListNode* p 和 ListNode *p 的区别 没有区别,只是风格问题…… 建议写成ListNode *p,可以同时定义多个变量。 203. 移除链表元素 (参考了评论区的写法) /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; ...原创 2019-05-09 16:05:04 · 135 阅读 · 0 评论 -
[LeetCode]210. 课程表 II/217. 存在重复元素/222. 完全二叉树的节点个数
题目链接:210. 课程表 II class Solution { public: vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) { vector<int> k; k.clear(); //用来返回...原创 2019-08-01 11:04:09 · 116 阅读 · 0 评论