算法
Jimmy_smile
这个作者很懒,什么都没留下…
展开
-
剑指offer:从头到尾打印链表
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList链表类:public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}public class Solution { /...原创 2019-07-07 21:47:21 · 104 阅读 · 0 评论 -
剑指offer:题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)
/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { publi...原创 2019-07-29 21:36:21 · 104 阅读 · 0 评论 -
剑指offer:输入一个链表,反转链表后,输出新链表的表头。
public class Solution { public ListNode ReverseList(ListNode head) { if (head==null){ //判断为null的情况 return null; } ListNode pre=null; ListNode...原创 2019-07-29 21:41:46 · 160 阅读 · 0 评论 -
剑指offer:判断是否为弹出序列
/**输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)*/import java.util.ArrayList;import ja...原创 2019-07-31 10:13:57 · 158 阅读 · 0 评论 -
剑指offer:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。
import java.util.Stack;public class Solution { //借助两个栈,一个存放所有元素,一个存放比较的元素 Stack<Integer> stack1=new Stack<Integer>(); Stack<Integer> stack2=new Stack<Intege...原创 2019-07-31 10:16:24 · 164 阅读 · 0 评论 -
剑指offer:求1出现的次数
求出113的整数中1出现的次数,并算出1001300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。public class Solution { public int Num...原创 2019-08-04 22:32:41 · 159 阅读 · 0 评论 -
剑指offer:打印数组拼接后的最小数
输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。这道题利用排序的思想,将每个数转为字符串,从第一个开始,第一个元素先和后面的元素拼接,然后后面的元素再和第一个元素拼接,转为int值,比较大小,如果比较之后后面加前面比前面加后面要小,就交换数组中这两个数的顺序。代码如下:...原创 2019-08-04 22:37:09 · 297 阅读 · 0 评论