- 博客(25)
- 资源 (3)
- 收藏
- 关注

转载 编辑教程
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...
2018-11-13 11:35:41
165

原创 算法面试的准备范围
- 各种排序算法- 基础数据结构和算法的实现:如堆、二叉树、图- 基础数据结构的使用:如链表、栈、队列、哈希表、图、Trie、并查集- 基础算法:深度优先、广度优先、二分查找、递归- 基本算法思想:递归、分治、回溯搜索、贪心、动态规划...
2018-09-18 21:32:12
187
转载 程序员面试宝典5 P75 [c/c++]关于指针直接赋值问题
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/Jingdoit/article/details/6787994 </div> ...
2019-06-19 10:38:28
272
转载 虚指针、虚函数
【摘要】很多教材上都有介绍到虚指针、虚函数与虚函数表,有的说类对象共享一个虚函数表,有的说,一个类对象拥有一个虚函数表;还有的说,无论用户声明了多少个类对象,但是,这个VTABLE虚函数表只有一个;也有的在说,每个具有虚函数的类的对象里面都有一个VPTR虚函数指针,这个指针指向VTABLE的首地址,每个类的对象都有这么一种指针。今天,我们就来解决这个问题,同一个类的不同对象,是不是拥有“相同”的...
2019-03-25 15:25:08
1699
转载 #ifndef #define #endif 防止头文件被重复引用
想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#ifndef/#define/#endif 这些代码?其实“被重复引用”是指一个头文件在同一个cpp文件中被include了...
2019-03-25 08:52:23
413
原创 LeetCode385. 迷你语法分析器(mini parser)
题目描述给定一个用字符串表示的整数的嵌套列表,实现一个解析它的语法分析器。列表中的每个元素只可能是整数或整数嵌套列表提示:你可以假定这些字符串都是格式良好的:字符串非空字符串不包含空格字符串只包含数字0-9 [ - , ]示例 1:给定 s = &amp;amp;amp;amp;amp;quot;324&amp;amp;amp;amp;amp;quot;,你应该返回一个 NestedInteger 对象,其中只包含整数值 324。
2018-11-14 11:29:46
1023
原创 Leetcode341. 扁平化嵌套列表迭代器(Flatten Nested List Iterator)
题目描述给定一个嵌套的整型列表。设计一个迭代器,使其能够遍历这个整型列表中的所有整数。列表中的项或者为一个整数,或者是另一个列表。示例 1:输入: [[1,1],2,[1,1]]输出: [1,1,2,1,1]解释: 通过重复调用 next 直到 hasNext 返回false,next 返回的元素的顺序应该是: [1,1,2,1,1]。示例 2:输入: [1,[4,[6]]]...
2018-11-13 17:09:55
653
原创 LeetCode155. 最小栈(MinStack)
题目描述设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) – 将元素 x 推入栈中。 pop() – 删除栈顶的元素。 top() – 获取栈顶元素。 getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.pu...
2018-11-13 14:33:47
142
原创 LeetCode150.逆波兰表达式求解(Evaluate Reverse Polish Notation)
题目描述根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: ["2", "1", "+", "3", &quo
2018-11-13 10:59:21
259
原创 LeetCode103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order T)
题目描述给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]代码:/** * Def...
2018-11-12 22:22:43
108
原创 LeetCode145. 二叉树的后序遍历(Binary tree Postorder Traversal)
题目描述给定一个二叉树,返回它的 后序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1]进阶: 递归算法很简单,你可以通过迭代算法完成吗?解题思路1:用两个栈和一个数组。/** * Definition for a binary tree node. * struct TreeNode { *...
2018-11-12 14:27:19
174
原创 LeetCode144. 二叉树的前序遍历(Binary Tree Preorder Traversal)
题目描述给定一个二叉树,返回它的 前序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?递归代码:/** * Definition for a binary tree node. * struct TreeNode { * int va...
2018-11-09 15:17:31
188
原创 LeetCode94. 二叉树的中序遍历(Binary tree Inorder Traversal)
题目描述给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?递归代码:/** * Definition for a binary tree node. * struct TreeNode { * int val; *...
2018-11-09 10:28:56
248
原创 LeetCode71. 简化路径 (simplifyPath)
题目描述给定一个文档 (Unix-style) 的完全路径,请进行路径简化。示例:path = "/home/", => "/home"path = "/a/./b/../../c/", => "/c"边界情况:你是否考虑了 路径 = "/../" 的情况?在这种情况下,你需返回 "/" 。此外,路径中也可能包含多个斜杠 '/' ,如 &quo
2018-11-08 21:54:01
142
转载 LeetCode 20.有效的括号(Valid Parentheses)
题目描述给定一个只包括 '(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:...
2018-11-07 21:07:50
123
原创 LeetCode 141. 环形链表(Linked List Cycle)
题目描述给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?解题思路我们设置两个指针从head开始遍历,规定两个指针的前进速度不一样,分别称为快、慢指针,如下图所示,slow指针每次前进一个,fast指针每次前进两个节点。 因为fast指针每次前进两个,一定比slow指针先到达环的入口处。而当slow指针进入环的时候,fast指针已经经过了两个节点。如果存在环的话,因为...
2018-11-01 19:56:40
176
原创 LeetCode 328. 奇偶链表(Odd Even Linked List)
题目描述给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例1输入: 1->2->3->4->5->NULL输出: 1->3->5->2...
2018-11-01 14:49:56
176
原创 LeetCode 92. 反转链表 II(Reverse Linked List II)
题目描述反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL解题思路建一个beforehead node,连上原链表的头结点,这样的话就算头结点变动了,...
2018-10-31 14:32:52
135
原创 LeetCode 86. 分隔链表(Partition List)
题目描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1-&amp;gt;4-&amp;gt;3-&amp;gt;2-&amp;gt;5-&amp;gt;2, x = 3输出: 1-&amp;gt;2-&amp;gt;2-&amp;gt
2018-10-30 22:20:10
159
原创 LeetCode 82. 删除排序链表中的重复元素 II(Remove Duplicates from Sorted List II)
题目描述代码展示给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例2:输入: 1->1->1->2->3输出: 2->3解题思路由于链表开头可能会有重复项,被删掉的话头指针会改变,而...
2018-10-30 11:28:51
209
原创 LeetCode 83. 删除排序链表中的重复元素(Remove Duplicates from Sorted List)
题目描述给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3解题思路移除有序链表中的重复项需要定义个指针指向该链表的第一个元素,然后第一个元素和第二个元素比较,如果重复了,则删掉第二个元素,如果不重复,指...
2018-10-29 22:31:54
103
原创 LeetCode 24. 两两交换链表中的节点(Swap Nodes in Pairs)
题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例给定 1-&gt;2-&gt;3-&gt;4, 你应该返回 2-&gt;1-&gt;4-&gt;3.说明你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。解题思路利用递归的思想,依次交换链表中的节点对。具体对于每个节点来说:1.若该节点为NULL,则直接返回NU
2018-10-29 21:25:55
109
原创 LeetCode 61. 旋转链表(Rotate List)
题目描述给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1-&gt;2-&gt;3-&gt;4-&gt;5-&gt;NULL, k = 2输出: 4-&gt;5-&gt;1-&gt;2-&gt;3-&gt;NULL解释:向右旋转 1 步: 5-&gt;1-&am
2018-10-29 21:25:34
134
原创 LeetCode 21. 合并两个有序链表(Merge Two Sorted Lists)
题目描述将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1-&amp;gt;2-&amp;gt;4, 1-&amp;gt;3-&amp;gt;4输出:1-&amp;gt;1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;4解题思路:这里使用递归的方法。构
2018-10-29 10:02:27
164
原创 LeetCode 19. 删除链表的倒数第N个节点(Remove Nth Node From End Of List)
题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1-&gt;2-&gt;3-&gt;5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?解题思路链表结构: (头节点)1-&
2018-10-28 20:16:31
159
Keil C51单片机高级语言应用编程与实践
2018-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人