004. 寻找两个正序数组的中位数 题目链接源题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路求第一个数组和第二个数组的长度,用length1和lengt
003. 无重复字符的最长子串(滑动窗口+Map) 无重复字符的最长子串题目思路示例代码小结题目给定一个字符串s,请你找出其中**不含有重复字符最长子串**的长度。思路遍历字符串,用双指针遍历,map存储分别设置指针left和right,初始化为0;(注意:left为无重复字符的最长子串的第一个字符)设置变量maxLength记录最大子串的长度,初始化为0遍历结束条件为right<s.length();分为两种情况如果map中不存在该字符,则将字符存入map中,更新不重复子串的最大长度 //不存在 if(!ma
002两数相加 两数相加题目解题思路代码题目给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解题思路创建一个链表来保存两链
001两数之和 两数之和题目 [两数之和](https://leetcode-cn.com/problems/two-sum/)解题思路代码知识点题目 两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。来源:力扣(LeetCode)链接:https://leetcode-cn.com/proble
Leetcode-JAVA版本链表专题学习 链表002两数相加代码(对应结点相加)019删除链表的倒数第N个结点代码一(倒数转正数)代码二(学习双指针)代码三(利用数组)021合并两个有序链表代码一(遍历链表)代码二(学习递归,暂时不会)023合并K个升序链表代码一(利用数组)代码二(学习优先队列,暂时不会)代码三(学习分治算法,暂时不会)024两两交换链表中的节点代码一代码二(学习递归,暂时不会)代码三(学习迭代,暂时不会)025K个一组链表翻转代码一代码二(学习递归,暂时不会)代码三(学习迭代,暂时不会)002两数相加代码(对应结点相加)/
学习Java leetcode001两数之和代码(学习哈希)002两数相加代码(学习链表的创建和叠加)001两数之和代码(学习哈希)class Solution { public int[] twoSum(int[] nums, int target) { /* 题目重点: 返回的是下标 对应一个答案 同一元素不能重复出现 */ // 创建动态哈希表,元素顺序存取顺序不能保持一致
日常JAVA打卡五道题(1.21) leetcode083删除排序链表中的重复元素代码088合并两个有序数组代码094二叉树的中序遍历代码100相同的树代码101对称二叉树代码083删除排序链表中的重复元素代码class Solution { public ListNode deleteDuplicates(ListNode head) { // 犯错地方:头结点指向第一个结点 // 如果为空链表或只有一个结点 if(head==null||head.next==null){
日常打卡JAVA五道题(1.20) letcode058最后一个单词的长度解析+代码一解析+代码二(耗时较短)066加一解析+代码067二进制求和解析+代码069Sqrt(x)解析+代码070爬楼梯解析+代码058最后一个单词的长度解析+代码一class Solution { public int lengthOfLastWord(String s) { /* 题目信息: 最后一个单词的长度 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。
日常打卡JAVA五道题(1.19) leetcode026删除有序数组中的重复项解析+代码027移除元素解析+代码028实现 strStr()解析+代码035搜索插入位置解析+代码053最大子数组和(朋友讲了一下动态规划)解析+代码026删除有序数组中的重复项解析+代码class Solution { public int removeDuplicates(int[] nums) { // 通过两个变量来完成 // 一个变量i来遍历 // 一个变量j来计数新长度并为依次存入不重复的元素的下标 //
日常打卡JAVA五道题(1.18) leetcode 简单题型009回文数解析+代码013罗马数字转整数解析+代码014最长公共前缀解析+代码020有效的括号解析+代码021合并两个有序链表解析+代码009回文数解析+代码class Solution { public boolean isPalindrome(int x) { // 回文数,可以利用StringBuffer的reverse反转函数 // 将n转换为StringBuffer类型 StringBuffer s=new
002两数相加 leetcode 002两数相加解法一正确的解法:解法二错误的答案:正确的解法:两数相加解法一正确的解法://错误点三://指向空指针null的结点不可以指向新的结点 class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { /** 题目重点: 1.两个 非空 的链表(表示两个非负的整数); 2.每位数字都是按照 逆序 的方式存储
001两数之和 leetcode两数之和解析:代码:两数之和解析:读题的注意点:返回它们的数组下标;你可以假设每种输入只会对应一个答案;(不用考虑无解的情况)数组中同一个元素在答案里不能重复出现;可以按任意顺序返回答案;方法:用两个for循环设nums[m]+nums[n]=target//第一个for循环中,//令m=i;//另外一个变量other来记录target-nums[i]的差值m=i;other=target-nums[i];//在第二个for循环中,从i的下一个开始比较,下