摘要: 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 使用双向链表,先把当前行按顺序打印,再取出当前行并将下一行存入链表 1 public ArrayList<ArrayList<Integer> 阅读全文
posted @ 2019-04-09 21:29 月半榨菜 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 若结点存在右孩子,则右孩子的最坐下结点为中序遍历下一个结点 若没有右孩子,则该结点为祖先的左子树最右下结点的最近的一个祖先,为下一个结点 public T 阅读全文
posted @ 2019-04-09 19:51 月半榨菜 阅读(76) 评论(0) 推荐(0) 编辑
摘要: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For example, this binary tree [1,2,2,3,4,4,3] is symmet 阅读全文
posted @ 2019-04-09 19:45 月半榨菜 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 使用dp,当n时,选着竖着放一个,那么后面的可能性为f(n-1) 选择横着放一个,那么要占两个位置,后面的可能性为f(n-2) 故f(n)=f(n-1)+f(n 阅读全文
posted @ 2019-04-09 16:18 月半榨菜 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 f(n)=f(n-1)+f(n-2)+...+f(n-n) =f(0)+f(1)+...+f(n-1) f(n-1)=f(n-2)+f(n-3)+...+f(n-n)=f(0)+ 阅读全文
posted @ 2019-04-09 15:51 月半榨菜 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 方法一:利用ArrayList库函数 1 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {//链表 my 2 ArrayList<I 阅读全文
posted @ 2019-04-09 11:45 月半榨菜 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 1 public ListNode deleteDuplication(ListNode pHead) 2 {//链 阅读全文
posted @ 2019-04-09 11:27 月半榨菜 阅读(122) 评论(0) 推荐(0) 编辑