摘要: 问题描述:1->2->3->4,假设k=2进行反转,得到2->1->4->3;k=3进行反转,得到3->2->1->4 算法思想:基本操作就是链表反转,将k个元素当作滑动窗口,依次进行反转。 特例Swap nodes in pairs 问题描述:给一序列,交换每相邻的两个元素,并返回头结点。例如:1 阅读全文
posted @ 2016-05-30 21:34 32ddd 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 问题描述:给n对括号,生成所有合理的括号对。比如n=2,(()),()() 算法思路:利用深度优先搜索的递归思想,对n进行深度优先搜索。边界条件是n==0;前面电话号组成字符串也是利用dfs。 阅读全文
posted @ 2016-05-30 18:13 32ddd 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 1 /** 2 * Definition for singly-linked list. 3 * public class ListNode { 4 * int val; 5 * ListNode next; 6 * ListNode(int x) { val = x; } 7 * } 8 */ 9 public class Solutio... 阅读全文
posted @ 2016-05-30 16:31 32ddd 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 问题描述:给定一个字符串,其中只包含字符‘{’, '}', '[', ']', '(', ')'确定如果输入字符串是有效的。括号必须以正确的顺序排列,“()”和“()[]{ }”都是有效的, "{", " {]"等都是无效的。 解题思路:利用栈,如果不是右括号就压入栈中,如果是右括号,就看前一个字符 阅读全文
posted @ 2016-05-30 15:56 32ddd 阅读(169) 评论(0) 推荐(0) 编辑