摘要:输入一个链表,输出该链表中倒数第k个结点。 注意:一个先走,计数,一个后走,直接走到第k步停下来
阅读全文
随笔分类 - 剑指offer
摘要:输入一个链表,输出该链表中倒数第k个结点。 注意:一个先走,计数,一个后走,直接走到第k步停下来
阅读全文
摘要:请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。 或者:
阅读全文
摘要:请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 转载自:http://blog.csdn.net/
阅读全文
摘要:题目: 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。 思路: 1、排序 将数组
阅读全文
摘要:题目描述 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。 解决思
阅读全文
摘要:题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 这道题实质上考察的就是树的遍历算法,只是这种遍历不是我们熟悉的前序、中序或者后序遍历。由于我们不太熟悉这种按层遍历的方法,可能已下载也想不清楚遍历的过程。 因为按层打印的顺序决定应该先打印的根节点,所以我们从树的根节点开始分析。为了接
阅读全文
摘要:题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是返回true,否则返回false。假设输入的数组的任意两个数字互不相同。 解题思路: 要明确两个概念: 1. 二叉搜索树的特点,就是如果有对任何一个非空结点,假如左子树存在,那么左子树的中任意一个结点都比该根结点小,假
阅读全文
摘要:题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字: 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 算法分析: 假设矩阵有
阅读全文
摘要:题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 1 public class Solution { 2 boolean flag = true; 3 public boolean IsBalanced_Solution(TreeNode root) { 4 if(root == null)
阅读全文
摘要:题目描述 输入一个链表,反转链表后,输出链表的所有元素。 tip:用两个指针 1 /* 2 public class ListNode { 3 int val; 4 ListNode next = null; 5 6 ListNode(int val) { 7 this.val = val; 8 }
阅读全文
摘要:题目描述 输入一个链表,输出该链表中倒数第k个结点。 首先想到的肯定是先走到链表末尾,然后再回溯到k节点。但是注意本题是单链表,单链表的节点只有从前往后的指针,而没有从后往前的,因此要想别的思路。 这样的话就需要别的思路。假设链表有n个节点,那么倒数第k个节点就是从头到尾的第n-k+1个节点,这样的
阅读全文
摘要:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 java解法(牛客网通
阅读全文
|