摘要: 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。例如输入{5,7,6,9,11,10,8}则输出true。 思路:二叉搜索树的特点是左子树的所有节点比根节点小,右子树的所有节点比根节点大,后续遍历最后 阅读全文
posted @ 2016-05-02 19:52 黄大仙爱编程 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 自己写的文件读写类,写文件是直接在文件后面添加内容,且一行一行的添加。 public class FileRW { private File file; private FileReader fileReader; private BufferedReader br; private FileWri 阅读全文
posted @ 2016-05-02 19:10 黄大仙爱编程 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:根据前序遍历和中序遍历的特点,以题目当中的输入 阅读全文
posted @ 2016-05-02 19:05 黄大仙爱编程 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,从尾到头打印链表每个节点的值。 思路:有两种解决方法,第一种,采用栈的方式,遍历链表,并将链表依次入栈,然后再出栈打印;第二种,递归。 第一种方法栈 public void printListFromTailToHead(ListNode listNode) { Stack< 阅读全文
posted @ 2016-05-02 14:56 黄大仙爱编程 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路:用队列保存将要打印的节点,出队列时,将左节点和右节点分别加入队列当中,直到队列为空,打印完毕。 public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { if 阅读全文
posted @ 2016-05-02 14:42 黄大仙爱编程 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目描述:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设 压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹 出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。 思路:建立一个辅助栈 阅读全文
posted @ 2016-05-02 13:49 黄大仙爱编程 阅读(89) 评论(0) 推荐(0) 编辑