摘要:``` /** * 面试题67:机器人的运动范围 * 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格, * 但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。 * 但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能... 阅读全文
posted @ 2017-03-15 15:17 Andrew.Zhou 阅读(532) 评论(0) 推荐(0) 编辑
摘要:``` / 面试题66:矩阵中的路径 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。 路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。 如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s 阅读全文
posted @ 2017-03-15 15:16 Andrew.Zhou 阅读(129) 评论(0) 推荐(0) 编辑
摘要:``` import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; / 面试题65:滑动数组的最大值 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4 阅读全文
posted @ 2017-03-15 15:16 Andrew.Zhou 阅读(130) 评论(0) 推荐(0) 编辑
摘要:``` import java.util.ArrayList; import java.util.Collections; /** * 面试题64:数据流中的中位数 * 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。 * 如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 */ public cla... 阅读全文
posted @ 2017-03-15 15:15 Andrew.Zhou 阅读(102) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题63:二叉搜索树的第k个结点 * 给定一颗二叉搜索树,请找出其中的第k大的结点 * 例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。 */ public class _63_binary_k_num { public static void main(String[] args) { int... 阅读全文
posted @ 2017-03-15 15:14 Andrew.Zhou 阅读(435) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题62:序列化二叉树 * 请实现两个函数,分别用来序列化和反序列化二叉树 */ import java.lang.StringBuilder; public class _62_seriailze_binaryTree { public static void main(String[] args) { TreeNode62 treeNode6... 阅读全文
posted @ 2017-03-15 14:41 Andrew.Zhou 阅读(103) 评论(0) 推荐(0) 编辑
摘要:``` import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.Queue; / 面试题61:按之字形顺序打印二叉树 请实现一个函数按照之字形打印二 阅读全文
posted @ 2017-03-15 14:40 Andrew.Zhou 阅读(213) 评论(0) 推荐(0) 编辑
摘要:``` import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; / 面试题60:把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 / public class 阅读全文
posted @ 2017-03-15 13:16 Andrew.Zhou 阅读(64) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题59:对称的二叉树 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 */ public class _59_symmetry { public static void main(String[] args) { } } class TreeNode59 { int val = 0; TreeN... 阅读全文
posted @ 2017-03-15 13:13 Andrew.Zhou 阅读(79) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题58:二叉树的下一个节点 * 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 */ public class _58_next_node { public static void main(String[] args){ } } class Solution58... 阅读全文
posted @ 2017-03-15 13:13 Andrew.Zhou 阅读(63) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题57:删除链表中重复的结点 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 * 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 */ public class _57_linked_remove_repeat { public static void main(String[] args... 阅读全文
posted @ 2017-03-15 13:12 Andrew.Zhou 阅读(75) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题56:链表中环的入口结点 * 一个链表中包含环,请找出该链表的环的入口结点。 */ public class _56_hoop_start { public static void main(String[] args) { } } class Solution56 { public ListNode56 EntryNodeOfLoop(ListN... 阅读全文
posted @ 2017-03-15 13:10 Andrew.Zhou 阅读(63) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题55:字符流中第一个不重复的字符 * 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。 当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当前字符流没有存在出现一次的字符,返回#字符。 */ public class ... 阅读全文
posted @ 2017-03-15 13:08 Andrew.Zhou 阅读(334) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题54:表示数值的字符串 * 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 * 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 */ public class _54_num_yes_no { public ... 阅读全文
posted @ 2017-03-15 13:06 Andrew.Zhou 阅读(73) 评论(0) 推荐(0) 编辑
摘要:``` / 面试题53:正则表达式匹配 请实现一个函数用来匹配包括'.'和' '的正则表达式。模式中的字符'.'表示任意一个字符,而' '表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab ac a"匹配,但是 阅读全文
posted @ 2017-03-15 13:05 Andrew.Zhou 阅读(163) 评论(0) 推荐(0) 编辑
摘要:``` / 面试题52:构建成绩数组 给定一个数组A[0,1,...,n 1],请构建一个数组B[0,1,...,n 1], 其中B中的元素B[i]=A[0] A[1] ... A[i 1] A[i+1] ... A[n 1]。不能使用除法。 / public class _52_array_pro 阅读全文
posted @ 2017-03-15 13:04 Andrew.Zhou 阅读(258) 评论(0) 推荐(0) 编辑
摘要:``` import java.util.ArrayList; / 面试题51:数组中重复的数字 在一个长度为n的数组里的所有数字都在0到n 1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{ 阅读全文
posted @ 2017-03-15 13:02 Andrew.Zhou 阅读(134) 评论(0) 推荐(0) 编辑
摘要:题目:求树中两个结点的最低公共祖先,此树不是二叉树,并且没有指向父节点的指针。 树的结点定义 题目解析 假设还是输入结点F和H . ![][Offer_50_01] [Offer_50_01]: http://images.cnblogs.com/cnblogs_com/andy zhou/9655 阅读全文
posted @ 2017-03-15 12:48 Andrew.Zhou 阅读(2731) 评论(0) 推荐(0) 编辑
摘要:``` /** * 面试题49:把字符串转换为整数 * 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 */ public class _49_str_to_num { public static void main(String[] args) { Solution49 solution49 = new Solutio... 阅读全文
posted @ 2017-03-15 12:06 Andrew.Zhou 阅读(126) 评论(0) 推荐(0) 编辑
摘要:``` public class FinalClass { /* * 不能被继承的类 */ public static FinalClass getInstance() { return new FinalClass(); } public static void deleteInstance(FinalClass instance) { instance=null; ... 阅读全文
posted @ 2017-03-15 12:05 Andrew.Zhou 阅读(116) 评论(0) 推荐(0) 编辑