堆栈哲学
堆栈哲学
全部文章
题解
HankerRank(1)
leetcode(8)
Luogu刷题入门篇(5)
学习笔记(8)
教程库(2)
归档
标签
去牛客网
登录
/
注册
堆栈哲学的博客
coderAndWAer
全部文章
/ 题解
(共7篇)
题解 | 调整数组顺序使奇数位于偶数前面
来自专栏
解法一:插入排序思想 记录已经是奇数的位置下标(视作为有序区域),然后向后遍历,一经发现是奇数则进行“插入排序”,然后有序区下标加1。 Java参考代码: import java.util.*; public class Solution { /** * 代码中的类名、方法名、...
Java
数组
图解
双指针
2021-07-15
13
1550
题解 | 反转链表
来自专栏
解法一:迭代 在遍历链表时,将当前节点的next 指针改为指向前一个节点。由于节点没有引用其前一个节点,因此必须事先存储其前一个节点。在更改引用之前,还需要存储后一个节点。最后返回新的头引用。 图解: Java参考代码: /* public class ListNode { int v...
Java
C++
链表反转
链表
递归
双指针
2021-07-15
121
15607
题解 | 数组中相加和为0的三元组
来自专栏
解法一:双指针 对数组长度进行特判 排序 num[i]>0说明后面的三数和不可能等于0。 对于重复元素跳过 左指针left=i+1,右指针right = len-1 当nums[i]+nums[left]+nums[right]==0执行循环,判断左界和右界是否和下一位置重复,去除重复解...
Java
数组
图解
哈希表
双指针
2021-07-14
10
2677
题解 | 划分链表
来自专栏
题意分析: 一个原始链表,一个整数x,对该链表进行如下规则的操作。 以x为分界,将链表划分为两部分。val<x和val>=x 两个部分之内的节点之间要保持的原始相对顺序 解法一:模拟(推荐) 思路步骤: 由于要将链表按照规则分割为两部分,可以考虑维护两个链表small和large...
Java
双指针
链表
图解
模拟
2021-07-11
5
963
题解 | 合并两个有序的数组
来自专栏
解法一:合并后排序 思路步骤: 对原数组A,B进行合并 将合并后的数组A进行排序 java参考代码: import java.util.*; public class Solution { public void merge(int A[], int m, int B[], int n) ...
Java
数组
双指针
图解
2021-07-11
6
1955
题解 | 链表内指定区间反转
来自专栏
解法一:双指针(两次遍历) 思路步骤: 要反转局部链表,可以将该局部部分当作完整链表进行反转 再将已经反转好的局部链表与其他节点建立连接,重构链表 建议使用虚拟头节点的技巧,可以避免对头节点复杂的分类考虑,简化操作。 反转前后图示: 配图说明: 反转步骤: Java参考代码: ...
Java
双指针
递归
链表
链表反转
图解
2021-07-11
258
30838
题解 | 判断链表中是否有环
来自专栏
牛客题解 分析: 链表中一道比较经典的题目了,注意正确理解题目所给的条件: 第一部分为一个链表。 第二部分为一个整数,-1代表该链表没有环,其他非负整数表示链表尾连接到链表中的位置(索引从 0 开始) 方法参数中,这个整数并不可见,仅仅是作为一个实际标识情况 解法一:哈希表 具体思路 创建一个...
Java
数学
链表
哈希表
双指针
2021-07-08
2
616