![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OJ
东东24
这个作者很懒,什么都没留下…
展开
-
LeetCode-1二个数之合
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6输出:[1,2原创 2021-04-12 20:18:27 · 67 阅读 · 0 评论 -
剑指offer_10二进制中一的个数(Java版)
题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例1输入10返回值2 public int numberOf(int n ) { // 计算机储存编码是二进制 所有可以直接用& 这个数与上1是否 为0 可以判断最后一位是否为1 然后将左移 一位 //循环条件 32次 也可以是当1 为0 时 即左移32次 缺点:时间复杂多过大 int count = 0 ; int原创 2021-03-25 11:09:00 · 80 阅读 · 0 评论 -
剑指offer_12调整数组使奇数位于偶数的前面(Java版)
题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。示例1输入[1,2,3,4]返回值[1,3,2,4]整体思路:运用直接插入排序的思想 public static void reOrderArray(int [] array) { //相对位置不变,稳定性 //插入排序的思想 // .定义一个k值 标记已经摆好奇数的原创 2021-03-25 11:03:30 · 50 阅读 · 0 评论 -
剑指offer-07 用二个栈来实现队列 (Java版)
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。思路 1.添加对于队列和栈一样 假设stack1为添加的容器 直接添加就可以2. 删除操作 先判断二个栈是否为空 为空抛出异常3. 判断stack 2 是否为空 为空将stack1 的所有元素添加 到 stack2 里面 出栈从stack2 出.Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> st原创 2021-03-19 21:31:47 · 43 阅读 · 0 评论 -
剑指offer-06 重建二叉树
题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。示例1输入复制[1,2,3,4,5,6,7],[3,2,4,1,6,5,7]返回值复制{1,2,5,3,4,6,7}思路:1如果二个数组都为空的时候直接返回一个空的节点2.前序遍历的第一个节点为树的根节点然后找到第二个数组的那个值,找到那个值.原创 2021-03-19 20:07:45 · 51 阅读 · 0 评论 -
剑指offer -05 从尾到头打印链表
题目描述:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。示例1输入复制{67,0,24,58}返回值复制[58,24,0,67]解题思路:1.然后遍历那个要逆转的链使用ArrayList的方法头插class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}import java.util.ArrayList;原创 2021-03-14 16:36:28 · 47 阅读 · 0 评论