摘要: 问题描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路: 按照层次遍历的方法,使用队列辅助。 1.将根结点加入队列。 2.循环出队,打印当前元素,若该结点有左子树,则将其加入队列,若有右子树,将其加入队列。 3.直到队列为空,表明已经打印完所有结点。... 阅读全文
posted @ 2016-07-07 15:03 一只猫的爱园 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 思... 阅读全文
posted @ 2016-07-07 11:46 一只猫的爱园 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。在该栈中,调用min,push及pop的时间复杂度都是O(1).思路:加入一个辅助栈用来存储最小值集合(这里要注意题目并没有说栈内的元素类型,因此要尽量通用)import java.util.St... 阅读全文
posted @ 2016-07-07 10:58 一只猫的爱园 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数 字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15... 阅读全文
posted @ 2016-07-07 10:06 一只猫的爱园 阅读(1313) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树结点定义为:public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public T... 阅读全文
posted @ 2016-07-07 08:54 一只猫的爱园 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 一.规范性书写清晰布局清晰命名合理 命名尽量使用有意义的单词; 变量常用i,j,k命名; 函数常用f,h,g命名。二.完整性完成基本功能考虑边界条件 做好错误处理对应的考虑好三个测试功能性测试 边界测试 容错测试 三.鲁棒性采取防御式编程 处理无效的输入 ... 阅读全文
posted @ 2016-07-06 17:12 一只猫的爱园 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 输入两棵二叉树A和B,判断B是不是A的子结构。二叉树结点的定义如下:public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public... 阅读全文
posted @ 2016-07-06 17:04 一只猫的爱园 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路1: 分别用p1,p2两个指针扫描两个有序链表,p3指针去构建新链表h3. p1.val <= p2.val,则p3把p1指向的结点加入h3,p1后移动。反之,对p2进... 阅读全文
posted @ 2016-07-06 16:45 一只猫的爱园 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 问题描述 定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。链表结点如下:public class ListNode { int val; ListNode next = null; ListNode(int val) { ... 阅读全文
posted @ 2016-07-06 15:52 一只猫的爱园 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 问题描述 输入一个链表,输出该链表中倒数第k个结点。(尾结点是倒数第一个)结点定义如下:public class ListNode { int val; ListNode next = null; ListNode(int val) { this.... 阅读全文
posted @ 2016-07-06 15:50 一只猫的爱园 阅读(112) 评论(0) 推荐(0) 编辑