
每天两道剑指offer
Leonidas_Li
这个作者很懒,什么都没留下…
展开
-
重建二叉树
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。代码:/** * Definition for binary tree * public class TreeNode { * int...原创 2018-11-28 22:29:20 · 178 阅读 · 0 评论 -
用两个栈实现队列
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路:一系列顺序的数据元素经过两轮入栈出栈操作后顺序不变。代码:import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); //第...原创 2018-12-04 21:55:20 · 152 阅读 · 0 评论 -
二维数组中的查找
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:如果数组为空、行或列长度小于1,则返回false。我们用两个指针rowP、colP指向二维数组array的右上角,rowP=0、colP=array.length-1,也就是arr...原创 2018-11-27 23:05:20 · 222 阅读 · 0 评论 -
替换空格
题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解题思路:先将StringBuffer转换成char[],循环获得字符串中的空格数。空格数为0时直接返回原字符串,如果字符串为空则返回空。新建一个字符串数组,数组的大小为,源字符串长度+空格数*2。新建两个指针,分别指向...原创 2018-11-28 15:40:38 · 155 阅读 · 0 评论 -
从尾到头打印链表
描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。import java.util.ArrayList;import java.util.Stack;public class Solution { public ArrayList&lt;Integer&gt; printListFromTailToHead(ListNode listNode) { ...原创 2018-11-28 20:49:41 · 265 阅读 · 1 评论 -
二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。public class Solution { public int NumberOf1(int n) { int count = 0; while( n != 0 ) { count += n&1; //n的最...原创 2018-12-06 10:01:14 · 142 阅读 · 0 评论