摘要: 1、给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。给出链表1->2->3->4->5->null和 n = 2.删除倒数第二个节点之后,这个链表将变成1->2->3->5->null.注意链表中的节点个数大于等于n挑战O(n)时间复杂度解题思路:刚开始看到倒数第n个节点,不禁感慨如果是数... 阅读全文
posted @ 2015-11-25 00:59 码代码的banana 阅读(284) 评论(0) 推荐(0) 编辑
摘要: Given a binary tree, return all root-to-leaf paths.Given the following binary tree: 1 / \2 3 \ 5All root-to-leaf paths are:[ "1->2->5", "1->3... 阅读全文
posted @ 2015-11-25 00:21 码代码的banana 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 跟进“删除重复数字”:如果可以允许出现两次重复将如何处理?样例给出数组A =[1,1,1,2,2,3],你的函数应该返回长度5,此时A=[1,1,2,2,3]。解题思路:基本思路和上一道题的删除排序数组中的重复数字差不多,不过需要一个额外的变量time来标记出现的次数。public class So... 阅读全文
posted @ 2015-11-24 01:01 码代码的banana 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。解题思路:相对而言,这道题因为是已经排好的序,所以比较简单。但同时题... 阅读全文
posted @ 2015-11-23 22:48 码代码的banana 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 给定两个二进制字符串,返回他们的和(用二进制表示)。a =11b =1返回100解题思路:算法上就是从右至左以此按位相加,并且要考虑进位。除此以外这道题还需要注意的就是数字和字符串之间的互相转化以及字符串的按位取的方法charAt(); 1 class Solution { 2 /** 3 ... 阅读全文
posted @ 2015-11-23 22:26 码代码的banana 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例在数组[1, 2, 3, 3, 4, 5, 10]中二分查找3,返回2。挑战如果数组中的整数个数超过了2^32,你的算法是... 阅读全文
posted @ 2015-11-23 01:34 码代码的banana 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例给出数组[1,1,1,1,2,2,2],返回 1挑战要求时间复杂度为O(n),空间复杂度为O(1).解题思路:主元素问题还是一个比较经典的题目,相关的算法在这篇博客中讲述的非常清楚http://blog.csdn.... 阅读全文
posted @ 2015-11-23 00:54 码代码的banana 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5挑战时间复杂度为O(n);主要利用快排递归划分的思想,可以在期望复杂度为O(n)的条... 阅读全文
posted @ 2015-11-23 00:03 码代码的banana 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 1、两个字符串是变位词写出一个函数anagram(s, t)去判断两个字符串是否是颠倒字母顺序构成的样例:给出 s="abcd",t="dcab",返回true;解题思路:这道题首先要明白变位词并不是指的两个单词字母顺序颠倒,指的是构成他们的字母是一样的,但是字母的位置不一样;第一种方法很容易想到通... 阅读全文
posted @ 2015-11-22 23:51 码代码的banana 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 今天学习排列序号2的问题时,九章算术给出的答案中使用了hashmap。作为小白的我特此来学习一下。Java最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用这两个基本结构来构造的,hashmap也不例外。Hashmap实际上是一个数组和链表的结合体(在数据结构中,一... 阅读全文
posted @ 2015-11-17 03:54 码代码的banana 阅读(127) 评论(0) 推荐(0) 编辑