摘要:
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; /** * 面试题60:把二叉树打印成多行 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 */ public clas 阅读全文
摘要:
/** * 面试题59:对称的二叉树 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 */ public class _59_symmetry { public static void main(String[] args) { } } 阅读全文
摘要:
/** * 面试题58:二叉树的下一个节点 * 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 */ public class _58_next_node { public static void main(St 阅读全文
摘要:
/** * 面试题57:删除链表中重复的结点 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 * 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 */ public class _57_linked_remove_repe 阅读全文
摘要:
/** * 面试题56:链表中环的入口结点 * 一个链表中包含环,请找出该链表的环的入口结点。 */ public class _56_hoop_start { public static void main(String[] args) { } } class Solution56 { publi 阅读全文
摘要:
/** * 面试题55:字符流中第一个不重复的字符 * 题目描述 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。 当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。 输出描述: 如果当 阅读全文
摘要:
/** * 面试题54:表示数值的字符串 * 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 * 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。 阅读全文
摘要:
/** * 面试题53:正则表达式匹配 * 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 * 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹 阅读全文
摘要:
/** * 面试题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_arra 阅读全文
摘要:
import java.util.ArrayList; /* * 面试题51:数组中重复的数字 * 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。 * 也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 * 例如,如果输入长度为 阅读全文