
Java
善良的小聪哥
生活的理想就是为了理想的生活。
展开
-
Leetcode-[难度中] 两数之和
题目描述给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]...原创 2020-04-25 16:28:18 · 199 阅读 · 0 评论 -
Leetcode-[简单]:合并两个排序的链表
题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。例1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4Code(JAVA): public static ListNode mergeTwoLists(ListNode l1, ListNode l2...原创 2020-04-19 17:06:10 · 385 阅读 · 0 评论 -
Leetcode-[简单]:链表中倒数第k个节点
题目:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。例1:给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.Code(JA...原创 2020-04-19 17:05:07 · 236 阅读 · 0 评论 -
Leetcode-[中等]:比特位计数
题目:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中每个数字 i ,计算其二进制数中 1 的数目并将它们作为数组返回。例1:输入: 2输出: [0,1,1]例2:输入: 5输出: [0,1,1,2,1,2]思路对所有数字只有2类:1. 奇数:二进制表示中,奇数一定比前面最近偶数多一个 1,因为多的是最低位的1。 ...原创 2020-04-19 17:03:43 · 145 阅读 · 0 评论 -
Leetcode-[简单]:将数字变成0的操作次数
题目:给定一个非负整数,请返回将它变成 0 所需步数。如果数字是偶数,需要把它除以 2 ;否则,减去 1 。例1:输入:num = 8输出:4解释:步骤1)8是偶数,除以2得到4步骤2)4是偶数,除以2得到2步骤3)2是偶数,除以2得到1步骤4)1是奇数,减1得到0实现比较简单,是个程序员都能...原创 2020-04-19 17:02:21 · 289 阅读 · 0 评论 -
Leetcode-[简单]:二进制链表转整数
题目:给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。例1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)例 2:输入:head = [0]输出:0例 3:输入:head =...原创 2020-04-19 16:59:51 · 294 阅读 · 0 评论 -
Leetcode-[简单] 环形链表
题目:给一个链表,判断链表中是否存在环。例 1:输入:head = [3,2,0,-4]输出:true例 2:输入:head = [1,2]输出:true例 3:输入:head = [1]输出:false思路:使用快慢指针解决该问题;Code(Java): public static boolean hasCyc...原创 2020-04-19 16:58:10 · 106 阅读 · 0 评论 -
Leetcode-[简单] 链表的中间结点
题目:给一个头结点非空单链表,返回链表中间结点。如有两个中间结点,则返回第二个中间结点。例1:输入:[0,1,3,4,6]输出:结点 3 例2:输入:[0,1,2,4,5,7]输出:结点 4思路:使用快慢指针解决该问题;Code(Java): import cn.leetcode.st...原创 2020-04-19 16:56:26 · 152 阅读 · 0 评论 -
Leetcode-[简单]:栈的最小值
题目:请设计一个栈,除了常规栈支持的pop与push函数以外,还支持min函数,该函数返回栈元素中的最小值。执行push、pop和min操作的时间复杂度必须为O(1)。例:MinStack minStack = new MinStack();minStack.push(-1);minStack.push(0);minStack.push(-4);minStack.ge...原创 2020-04-19 16:54:05 · 136 阅读 · 0 评论 -
Leetcode-[简单]:用队列实现栈
题目:用队列实现栈使用队列实现栈的下列操作:push(x) -- 元素 x 入栈pop() -- 移除栈顶元素top() -- 获取栈顶元素empty() -- 返回栈是否为空Code(JAVA):package cn.leetcode.study.stack;import java.util.LinkedList;import ...原创 2020-04-19 16:52:11 · 176 阅读 · 0 评论 -
Leetcode-[简单]:用两个栈实现队列
题目:用两个栈实现一个队列。队列声明如下,请实现函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )例 1: 输入:[[],[3],[],[]] 输出:[null,null,3,-1]例 2: 输入:[[],[],[5],[2],[...原创 2020-04-19 16:50:05 · 273 阅读 · 0 评论