![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
梦里Coding
bigData
展开
-
Java实现链表(包括添加节点/打印输出/反转链表)
首先,自定义首先一个ListNodeDemo类,在里面私有化一个ListNode类,这个类代表的是链表的节点。 public class LinkListDemo { //节点类 private class ListNode{ private Object data; private ListNode next= null; ListNode(){ data = null; } Lis原创 2021-11-14 17:16:13 · 1151 阅读 · 0 评论 -
LeetCode-234.回文链表
给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 输入:head = [1,2,2,1] 输出:true 输入:head = [1,2] 输出:false 思路:这题和之前回文不同的地方在于他是链表,因此这里采用new一个数组来存储。然后再定义头尾指针,分别判断是否相等,如果不相等返回false。如果相等,返回true。 /** * Definition for singly-linked list. * public cla原创 2021-11-14 10:36:39 · 266 阅读 · 0 评论 -
LeetCode-232. 用栈实现队列
请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素 int peek() 返回队列开头的元素 boolean empty() 如果队列为空,返回 true ;否则,返回 false 思路:之前在剑指offer的时候写过这题,今天写这题,又出现几个需要注意的点。 1.代码规范,构造方法之外定义引用,进入了构造方法原创 2021-10-13 21:22:33 · 58 阅读 · 0 评论 -
LeetCode-415. 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库(比如 BigInteger), 也不能直接将输入的字符串转换为整数形式。 示例 1: 输入:num1 = "11", num2 = "123" 输出:"134" 示例 2: 输入:num1 = "456", num2 = "77" 输出:"533" 示例 3: 输入:num1 = "0", num2 = "0" 输出:"0" 思路:采用小学计算列竖式的思想。分别从低到高取原创 2021-10-12 10:16:39 · 117 阅读 · 0 评论 -
Leetcode-102. 二叉树的层序遍历
给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。 示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍历结果: [ [3], [9,20], [15,7] ] 思路:定义一个队列,刚开始的时候将root节点添加到队列当中,判断队列是否为空,如果不为空,就去循环遍历队列中的元素,每次都出队,并且将出队的元素放到定义好的list当中,接着判断当前出原创 2021-10-12 09:51:23 · 51 阅读 · 0 评论 -
LeetCode-15. 三数之和
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。 示例 1: 输入:nums = [-1,0,1,2,-1,-4] 输出:[[-1,-1,2],[-1,0,1]] 示例 2: 输入:nums = [] 输出:[] 示例 3: 输入:nums = [0] 输出:[] 思路:遍历整个数组,当前元素记为nums[i],随后选取当前元素的右边两端,记为L和R。sum=nums[i]+nums原创 2021-10-09 16:10:14 · 70 阅读 · 0 评论 -
LeetCode-21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 示例2: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例3: 输入:l1 = [], l2 = [0] 输出:[0] 思路:这里主要用到的就是递归的思想。涉及到递归的话,首先就是要去考虑递归的终止条件,只有终究条件,递归才能正常运行,不会报StackOverFlow的异常。 终止条件:将l1或者是l2为null 返回值:每一层调用都返回排序好的链原创 2021-10-09 14:53:40 · 56 阅读 · 0 评论 -
Leetcode-53. 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 示例 2: 输入:nums = [1] 输出:1 解题思路:这题用到的是动态规划,要求连续子数组的最大和。当前连续子数组的和为sum。结果为ans。 如果 sum > 0,则说明 sum 对结果有增益效果,则 sum 保留并加上当前遍历数字 如果原创 2021-08-07 23:44:32 · 67 阅读 · 0 评论 -
LeetCode-912. 排序数组
排序数组 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 思路:选用快排即可。 注意:end的位置是否+1,根据实际写的代码情况来算。 class Solution { public int[] sortArray(int[] nums) { quickSort(nums,0,nums.length-1);原创 2021-08-07 21:21:28 · 63 阅读 · 0 评论 -
LeetCode-1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入:nums = [3,2,4], target =原创 2021-08-07 20:54:51 · 56 阅读 · 0 评论 -
Leetcode215-数组中的第K个最大元素
数组中的第K个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 解题思路:要返回一个乱序数组的第k大元素,首先对数组进行排序.对数组排序好之后,可以直接取数组下标第k大的元素.这里考虑使用快速排序对数组进行排序. class S原创 2021-08-06 22:23:34 · 177 阅读 · 0 评论 -
Leetcode206-链表反转
反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 思路:采用双指针迭代的方法. (1)我们可以申请两个指针,第一个指针是pre.最初是指向null的. (2)第二个指针cur指向head,然后不断遍历cur (3)每次迭代到cur,就将cur的next指针指向pre,然后pre和cur移动一位 最后都迭代完了,pre就是最后一个节点 class Solution { public ListNode原创 2021-08-06 16:12:55 · 58 阅读 · 0 评论 -
Leetcode: 寻找旋转排序数组中的最小值
Leetcode第153道题: 寻找旋转排序数组中的最小值 已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2] 若旋转 4 次,则可以得到 [0,1,2,4,5,6,7] 注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[原创 2021-04-08 11:01:17 · 131 阅读 · 0 评论