刷题
文章平均质量分 55
淡淡的蓝月
我的github: https://github.com/getletCodes
展开
-
Unique Paths II (DP)
题目:Follow up for "Unique Paths":Now consider if some obstacles are added to the grids. How many unique paths would there be?An obstacle and empty space is marked as 1 and 0 respectively in t原创 2015-02-25 22:37:36 · 323 阅读 · 0 评论 -
Rotate Array
原题:Rotate an array of n elements to the right by k steps.For example, with n = 7 and k = 3, the array [1,2,3,4,5,6,7] is rotated to [5,6,7,1,2,3,4].根据题目的要求O(1)的空间,多次逆置数组class Solution {pub原创 2015-02-24 17:01:18 · 308 阅读 · 0 评论 -
Convert Sorted List to Binary Search Tree
题目要求将一个已排序的链表置换成一个平衡的二叉树开始看到时候第一时间想到的就是二叉树中序遍历输出就是一个有序序列,,但是根据这个想了一会儿没有想到什么思路(唉.......),后来想到高度平衡又想起了以前数组构造二叉树的方法,有了思路,就是每次取中间节点,然后递归构造两边的子树,寻找中间指针的方法也很自然的想到使用快慢指针来做。代码如下/** * Definition for singl原创 2015-05-26 18:45:49 · 371 阅读 · 0 评论 -
Reorder List
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given {1,2,3,4}, reorder it t原创 2015-05-21 21:23:01 · 344 阅读 · 0 评论 -
Linked List Cycle
题目:给你一个单链表链表,判定该链表是否存在循环链表于其中我开始是想通过遍历,如果没有next域为空肯定是循环链表,但是问题是我跟本不知链表的终点,又想了一些其他的方法都没有可行性,又不想用双重循环来判定后来找到了下面的方法,利用快慢指针,如果是循环的链表,二者肯定会在某一点相遇,代码如下public boolean hasCycle(ListNode head) {转载 2015-05-24 21:06:16 · 84 阅读 · 0 评论