![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
lisin-lee-cooper
这个作者很懒,什么都没留下…
展开
-
【leetcode198】打家劫舍
一.问题描述你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4 。二.示例代码publ原创 2022-02-21 11:19:10 · 45 阅读 · 0 评论 -
【LeetCode70】爬楼梯
一.问题描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶二.示例代码public class ClimbStairs { public static void main(String[] args) { int n = 42; int result = climbStairs(n)原创 2022-02-18 11:13:20 · 46 阅读 · 0 评论 -
【leetcode55】最大子数组和
一.问题描述给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。二.示例代码public class MaximumSubarraySum { public static void main(String[] args) { int[]原创 2022-02-18 10:40:05 · 243 阅读 · 0 评论 -
【leetcode5】最长回文串
一.问题描述给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。二.示例代码public class LongestPalindromeString { public static void main(String[] args) { String palindrome = "babad"; String result = palindromeString2(pa原创 2022-02-17 14:02:54 · 181 阅读 · 0 评论 -
【leetcode143】重排链表
一.问题描述给定一个单链表 L 的头节点 head ,单链表 L 表示为:L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为:L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → …思路 :1.寻找链表的中间节点2.反转中后部分节点3.合并前后部分节点注意找到中间节点后,需要将找到的mid节点的next节点置为null,不然会形成环。合并两个链表图解二.实例代码public class RearrangeNode { public原创 2022-02-16 16:18:36 · 251 阅读 · 0 评论 -
【leetcode141】环形链表
一问题描述1.给你一个链表的头节点 head ,判断链表中是否有环。2.返回入环的第一个节点二.示例代码public class CircleNode { public static void main(String[] args) { ListNode listNode = new ListNode(1); ListNode listNode2 = new ListNode(2); ListNode listNode3 = new Lis原创 2022-02-16 14:07:52 · 310 阅读 · 0 评论 -
【leetcode61】旋转链表
一.问题描述给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3]二.示例代码public class RotatingLinkedList61 { public static void main(String[] args) { ListNode listNode1 = new ListNode(1); ListNode listNode2 =原创 2021-09-02 11:34:49 · 53 阅读 · 0 评论 -
【leetcode24】两两交换链表中的节点
一.问题描述给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]二.图解三.示例代码public class SwapPairs { public static void main(String[] args) { ListNode listNode = new ListNode(1); ListN原创 2022-02-11 14:20:50 · 361 阅读 · 0 评论 -
剑指 Offer 52. 两个链表的第一个公共节点
一、题目描述编写一个程序,找到两个单链表相交的起始节点。1->2->3->4->56>7->8->3->4->5返回 3->4->5二.示例代码public class GetIntersectionNode { public static void main(String[] args) { ListNode listNode = new ListNode(1); ListNode l原创 2022-02-10 10:56:17 · 150 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
一、题目描述输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000二. 示例代码public class MergeSortedNode { public static void main(String[] args) { ListNode listNode原创 2022-02-09 15:13:43 · 275 阅读 · 0 评论 -
剑指 Offer 24. 反转链表
一、题目描述给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。给定一个链表: 1->2->3->4->5返回链表 5->4->3->2->1.二.示例代码public class ReverseNode { public static void main(String[] args) { ListNode listNode = new ListNode(1); ListNode listNo原创 2022-02-09 14:49:50 · 612 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
一、题目描述输入一个链表,输出该链表中倒数第 k 个节点。为了符合大多数人的习惯,本题从 1 开始计数,即链表的尾节点是倒数第 1 个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6 。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.二.示例代码public class GetKthFromEnd { public stati原创 2022-02-09 11:24:54 · 40 阅读 · 0 评论 -
剑指 Offer 18. 删除链表的节点
一、题目描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], val = 1输出: [4,5,9]解释: 给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 4原创 2022-02-09 11:06:47 · 45 阅读 · 0 评论