Fork me on GitHub
摘要: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。 方法一:class Solution {public: RandomListNode *copyRandomList(RandomList... 阅读全文
posted @ 2018-11-29 23:59 lMonster81 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] class Solution {public: vector >res... 阅读全文
posted @ 2018-11-29 23:38 lMonster81 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题? 方法一:使用map方法二:分两个步骤,首先通过快慢指针的方法判断链表是否有环;如果有环,则寻找入环的第一个节点。具体的方... 阅读全文
posted @ 2018-11-29 22:48 lMonster81 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗? 递归:class Solution {public: vector res; v... 阅读全文
posted @ 2018-11-29 22:46 lMonster81 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 对链表进行插入排序。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。 插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 每次... 阅读全文
posted @ 2018-11-29 22:42 lMonster81 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 1:输入: ["... 阅读全文
posted @ 2018-11-29 22:20 lMonster81 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 给定一个字符串,逐个翻转字符串中的每个单词。示例: 输入: "the sky is blue", 输出: "blue is sky the".说明:无空格字符构成一个单词。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余... 阅读全文
posted @ 2018-11-29 22:19 lMonster81 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2] 输出: 1示例 2:输入... 阅读全文
posted @ 2018-11-29 22:18 lMonster81 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 示例 2:输入: nums = [1,2,1,3,5,6,4] 输出: 1 或 5 解释: 你的函数可以返回索引 1,其峰值元素为 2; 或者返回索引 5, 其峰值元素为 6。说明:你的解法应该是 O(logN) 时间复杂度的。 二分法:如果中间的是峰值直接返回... 阅读全文
posted @ 2018-11-29 22:17 lMonster81 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 val2) { return 1; } ... 阅读全文
posted @ 2018-11-29 22:15 lMonster81 阅读(92) 评论(0) 推荐(0) 编辑
/*评论*/ /*top按钮*/

/* 网易云控件 */