剑指Offer
凌琅Zxin
这个作者很懒,什么都没留下…
展开
-
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字
/* * 顺时针打印 * 1 2 3 4 * 5 6 7 8 * 9 10 11 12 * 13 14 15 16 * --->1 2 3 48 12 16 15 14 13 9 5 6 7 11 10 */ import java.util.ArrayList; public class Solution { public static void main...转载 2019-02-24 13:46:16 · 870 阅读 · 0 评论 -
输入一个链表,反转链表后,输出新链表的表头。
代码来自Java程序员面试笔试宝典 主要思想: pre cur next三个节点 /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ public class Solution { ...转载 2019-02-24 13:13:37 · 194 阅读 · 0 评论 -
定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))
思想1:(Java程序员面试宝典) 用空间换时间 两个栈sd存数据,sm存最小值 存入时: 若sm为空,两个直接存数据; 若sm不为空,待存数据与sm的栈顶元素比较,小于时存入,否则不存 出栈: 若sd的栈顶元素和sm的相等,两个都弹出 不等,则只是sd弹出 min(): 直接弹出sm的栈顶元素 ...转载 2019-02-24 14:17:51 · 170 阅读 · 0 评论 -
层序遍历二叉树
思想: 使用队列Queue实现 出队时,如果队首元素有孩子,则把其孩子加入队尾 循环条件是队列不为空 import java.util.ArrayList; import java.util.Queue; import java.util.LinkedList; /** public class TreeNode { int val = 0; TreeNode left ...原创 2019-02-24 15:17:56 · 570 阅读 · 0 评论 -
判断给定的整数数组是不是某二叉搜索树的后序遍历的结果
二叉搜索树: 又:二叉查找树(Binary Search Tree),二叉排序树; 它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 数大于根肯定往根的右子树走,小于往左子树走 后序遍历: 左子->右子->根...原创 2019-02-24 20:06:47 · 171 阅读 · 0 评论