摘要: 题目: 给定一个单链表,一次反转k个节点,最终返回翻转后的链表的头节点;如果链表不足k个,则不变 举例: Given this linked list: 1->2->3->4->5 For k = 2, you should return: 2->1->4->3->5 For k = 3, you 阅读全文
posted @ 2016-09-17 22:20 小叶子leavescy 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个单链表,交换两个相邻的节点,且返回交换之后的头节点 举例: Given 1->2->3->4, you should return the list as 2->1->4->3. 解题思路: 题目本身很简单,但是要注意一些细节: 1. 两对节点之间的连接 2. 如果只剩下一个节点,则不 阅读全文
posted @ 2016-09-17 21:18 小叶子leavescy 阅读(2593) 评论(0) 推荐(0) 编辑
摘要: 题目: 合并k个排序将k个已排序的链表合并为一个排好序的链表,并分析其时间复杂度 。 解题思路: 类似于归并排序的思想,lists中存放的是多个单链表,将lists的头和尾两个链表合并,放在头,头向后移动,尾向前移动,继续合并,直到头和尾相等,此时已经归并了一半, 然后以同样的方法又重新开始归并剩下 阅读全文
posted @ 2016-09-17 20:57 小叶子leavescy 阅读(1852) 评论(0) 推荐(0) 编辑
摘要: 题目: 给出两个排序的单链表,合并两个单链表,返回合并后的结果; 解题思路: 解法还是很简单的,但是需要注意以下几点: 1. 如果两个链表都空,则返回null; 2. 如果链表1空,则返回链表2的头节点;反之,如果链表2为空,则返回链表1的头节点; 3. 两个链表都不空的情况下: 比较两个链表的头节 阅读全文
posted @ 2016-09-17 20:44 小叶子leavescy 阅读(2254) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个数字字符串,返回数字所能代表的所有字母组合; 举例: Input:Digit string "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 解题思路: 1. 首先要判断给定的数字字符串是否合法( 阅读全文
posted @ 2016-09-17 20:32 小叶子leavescy 阅读(1346) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个整数,将其转换为罗马数字; 题目很简单,主要是依靠整数和罗马数字的对应表: I= 1;V= 5; X = 10; L = 50; C = 100; D = 500; M = 1000 代码如下: 阅读全文
posted @ 2016-09-17 17:05 小叶子leavescy 阅读(211) 评论(0) 推荐(0) 编辑
摘要: 题目: 实现字符串到整数的转换 解题思路: 下面给出这道题应该注意的一些细节: 1. 字符串“ 123 ” = 123; 2. 字符串“+123” = 123; 3. 字符串“-123” = -123; 4. 字符串“-” = 0;“+” = 0; 5. 字符串“123-” = 123; 6. 字符 阅读全文
posted @ 2016-09-17 15:55 小叶子leavescy 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 题目: 给定一个整数,求将该整数逆转之后的值; 举例: Example1: x = 123, return 321Example2: x = -123, return -321 解题思路: 在这里只用说明几个要注意的点: 1. 如果该整数是负数,-123,则逆转之后为-321,因此需要从第一位开始逆 阅读全文
posted @ 2016-09-17 13:43 小叶子leavescy 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个字符串s,一个整数numRows, 将字符串s按照竖Z的方式排列,然后输出结果; 举例:String s = "PAYPALISHIRING"; 排列后为: 解题思路: 1. 由于每一行到底有多少个字母是不确定的,因此每行使用ArrayList来保存字母;如5,6,7行代码所示; 2. 阅读全文
posted @ 2016-09-17 13:29 小叶子leavescy 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个字符串s,找出s中的最长回文子串; 暴力法,DP法, 中心扩展法,manacher算法 解法一:暴力法 遍历字符串S的每一个子串,去判断这个子串是不是回文,是回文的话看看长度是不是比最大的长度maxlength大。遍历每一个子串的方法要O(n^2),判断每一个子串是不是回文的时间复杂度 阅读全文
posted @ 2016-09-17 13:06 小叶子leavescy 阅读(8164) 评论(5) 推荐(0) 编辑
摘要: 题目: 给定两个单链表,单链表中的数都是非负数。链表中的数字都是反向存储的,,每个节点都是个位数,将链表对应的位相加,返回最终的结果; 举例: Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)Output: 7 -> 0 -> 8 解题思路: 其本质是将链表1和链表2反转之后 阅读全文
posted @ 2016-09-17 00:50 小叶子leavescy 阅读(711) 评论(0) 推荐(0) 编辑