
leetcode
leetcode
zcd_2020
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 52. 两个链表的第一个公共节点
思路1:双循环,。。(有点傻)/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode g.原创 2021-08-19 18:39:40 · 95 阅读 · 0 评论 -
剑指 Offer 25. 合并两个排序的链表
剑指 Offer 25. 合并两个排序的链表输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。示例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4限制:0 <= 链表长度 <= 1000没啥思路:直接写就完了。不过那个三元表达式还是挺干净的/** * Definition for singly-linked list. * public class ListNode原创 2021-08-19 17:28:16 · 91 阅读 · 0 评论 -
剑指 Offer 24. 反转链表
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出原创 2021-08-19 16:57:40 · 98 阅读 · 0 评论 -
字符串旋转
字符串旋转:给定两字符串A和B,如果能将A从中间某个位置分割为左右两部分字符串(都不为空串),并将左边的字符串移动到右边字符串后面组成新的字符串可以变为字符串B时返回true。例如:如果A=‘youzan’,B=‘zanyou’,A按‘you’‘zan’切割换位后得到‘zanyou’和B相同返回true。思路:两个A字符串拼接,看是否包含Bimport java.util.Scanner;public class Main{ public static void main(String[]原创 2021-08-19 15:43:56 · 126 阅读 · 0 评论 -
剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。示例:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.思路:要遍历倒数的几个节点,可以用递归的方式。定义一个num=0表示从后往前的次数。倒原创 2021-08-17 15:35:20 · 136 阅读 · 0 评论 -
83. 删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次 。返回同样按升序排列的结果链表。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * Lis原创 2021-06-11 13:19:20 · 91 阅读 · 0 评论 -
622. 设计循环队列
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/design-circular-queue著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。class MyCircularQueue { //数组模拟队列 private int[] arr; private int maxSize; private int front; private int rear; int sum; //队列.原创 2021-06-11 10:22:21 · 106 阅读 · 0 评论 -
203.移除链表元素
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-linked-list-elements著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListN.原创 2021-06-05 10:36:22 · 85 阅读 · 0 评论 -
231. 2的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。如果存在一个整数 x 使得 n == 2^x ,则认为 n 是 2 的幂次方来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/power-of-two著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。取余的方法(垃圾)2的幂就是 n对2取余,余数为0class Solution { public boole原创 2021-05-30 13:39:55 · 83 阅读 · 0 评论 -
2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 =转载 2021-05-28 10:25:48 · 96 阅读 · 0 评论 -
477. 汉明距离总和
两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元素的范围为从 0到 10原创 2021-05-28 09:45:59 · 100 阅读 · 0 评论 -
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 = 6原创 2021-05-27 09:21:18 · 73 阅读 · 0 评论 -
461. 汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0)来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/hamming-distance著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。垃圾解法 :10原创 2021-05-27 08:35:38 · 75 阅读 · 0 评论 -
剑指 Offer 11. 旋转数组的最小数字
剑指 Offer 11. 旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-原创 2021-04-28 14:16:00 · 68 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl原创 2021-04-28 10:07:56 · 86 阅读 · 0 评论