李教练1103
李教练1103
全部文章
分类
未归档(1)
读书笔记(1)
题解(14)
归档
标签
去牛客网
登录
/
注册
李教练1103的博客
全部文章
(共15篇)
题解 | #二叉树的镜像#
操作给定的二叉树,将其变换为源二叉树的镜像。 比如: 源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 ...
Java
2021-09-15
0
395
题解 | #合并两个排序的链表#
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 输入: {1,3,5},{2,4,6} 返回值: {1,2,3,4,5,6} 首先思路很简单,一个while循环,里面进行比较,让新链表指针指向小的那个节点,然后移动指针,直到全部补全链表。先附上代码...
2021-09-14
0
339
题解 | #反转链表#
反转链表 方法1 调转链表法设置三个指针:cur:用于保存当前节点的位置pre:用于保存前一个节点位置,方便移动nex:用于保存原本下一个节点的位置,防止丢失节点信息利用循环每一次都将cur和pre前移,再将cur下一个节点由nex调转至pre。具体步骤如下: nex = cur.next; cu...
2021-09-13
0
376
题解 | #链表中倒数最后k个结点#
输入一个链表,输出一个链表,该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 首先我们清楚,链表是由其头节点决定的,所以问题转化为输入一个头节点,输出一个头节点。所以我们只需要输出倒数第k个节点即可 方法1 常规一个循环解决 ...
2021-09-13
0
417
题解 | #调整数组顺序使奇数位于偶数前面#
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 拿到题目我首先想到可以类比C++在头尾处放两个指针,左指针指向奇数指针右移,右指针指向偶数指针左移,否则指针不动,等到左指针指向...
2021-09-11
0
522
题解 | #二进制中1的个数#
输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示 初步想法首先我们第一个想法就是十进制是怎么转化为二进制的呢?我们知道,用十进制数一直除以2直到商为0,得到的余数逆序排列即为二进制数,那么我们很容易想到一个while循环就可以解决问题。 但是,对于负数而言,我们需要表示出它的...
2021-09-10
0
475
题解 | #跳台阶扩展问题#
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。 方法1 暴力法用递归暴力求解即可 时间复杂度 O(n^2)空间复杂度 O(1) public class Solution { public int jumpF...
2021-09-10
0
371
题解 | #矩形覆盖#
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,从同一个方向看总共有多少种不同的方法? 其实这道题没有什么代码难度,主要是思考过程。我们在排列矩形时按照如下规律即可: 在 n-1个小矩形的所有排列方式中,只在其右边添加一块竖着放置的矩形 ...
2021-09-09
0
399
题解 | #斐波那契数列#
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 方法1 递归法最常见的递归法,对于递归算法的时间复杂度,我们有如下计算方法: 递归的次数 * 每次递归中的操作次数在下列递归代码中,每一次递归都会调用两次递归,可以把递归抽象成一...
2021-09-09
0
393
题解 | #旋转数组的最小数字#
描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 方法1 暴力求解法 最简单的想法就是撇开旋转数组不谈,直接遍历数组求最小值 时间复杂度 O(n) 空间...
2021-09-08
0
430
首页
上一页
1
2
下一页
末页