
【剑指Offer】
小烽努力变强
自己选择的路跪着也要走完!
展开
-
【编程数学题】题目1:在一个数组中有0-99之间的整数101个(数组无序),用高效方法找出其中的唯一的重复元素!
题目:在一个数组中有0-99之间的整数101个(数组无序),用高效方法找出其中的唯一的重复元素!思路一:因为是在0-99之间的101个数,只有唯一的重复元素,因此一定有0-100,另一个未知的重复数字,可以将已知数组求和再减去0-100的和可得结果;代码实现://方法一:0~100肯定都存在,可以给数组求和然后减去0~100的和,剩下的就是重复的数字; public static ...原创 2019-09-25 23:43:37 · 465 阅读 · 0 评论 -
【剑指Offer】题目5:调整数组顺序使奇数位于偶数前面
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。我的解法我的解法思路:首先想到遍历这个数组,找到第一个奇数,并且使用num记住奇数的个数。public class Solution { public void reOrderArray(int [] array) { int len = array.length; in.原创 2020-05-30 10:59:42 · 176 阅读 · 0 评论 -
【剑指Offer】题目4:重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。我的解法我的解法思路:当时没做出来,只想到肯定用递归,并且采用顺序存储的方式去构建。最优解法最优解法思路:publi...原创 2019-11-17 15:03:44 · 155 阅读 · 0 评论 -
【剑指Offer】题目3:从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。我的解法我的解法思路:我的做法中规中矩,先循环取出链表的所有值,然后用arraylist去接收,然后递减调换两端的索引对应的值即可。/*** public class ListNode {* int val;* ListNode next = null;** ...原创 2019-11-09 19:51:18 · 147 阅读 · 0 评论 -
【剑指Offer】题目2:替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。我的解法我的解法思路:只A了50%,太菜了public class Solution { public String replaceSpace(StringBuffer str) { S...原创 2019-11-06 16:14:52 · 135 阅读 · 0 评论 -
【剑指Offer】题目1:二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。我的解法我的解法思路:首先要对二维数组有足够了解,二维数组内的一维数组的个数:arr.length数组内元素的个数:arr[i].length才有使用暴力解法的可能...原创 2019-11-04 14:39:26 · 153 阅读 · 0 评论