力扣
力扣
温暖的秋裤
stay hungry
展开
-
图的深度优先遍历算法
1、题目描述你这个学期必须选修 numCourse 门课程,记为0到numCourse-1 。在选修某些课程之前需要一些先修课程。例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,...原创 2020-08-04 16:07:16 · 353 阅读 · 0 评论 -
二叉树层次遍历(力扣102/1722)
102. 二叉树的层序遍历难度中等569收藏分享切换为英文关注反馈给你一个二叉树,请你返回其按层序遍历得到的节点值。 (即逐层地,从左到右访问所有节点)。示例:二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]层次遍历模板(队列)public void bfs(TreeNode root){ Q..原创 2020-07-24 17:38:12 · 160 阅读 · 0 评论 -
字符串相乘Java实现(力扣43/1716)
目录一、题目描述二、代码以及解释配图解释:一、题目描述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = "2", num2 = "3"输出: "6"示例2:输入: num1 = "123", num2 = "456"输出: "56088"说明:num1和num2的长度小于110。num1 和num2 只包含数字0-9。num1 和n...原创 2020-07-19 00:25:01 · 552 阅读 · 0 评论 -
图的深度优先遍历(DFS)和广度优先遍历(BFS)
一、题目描述785. 判断二分图难度中等150给定一个无向图graph,当这个图为二分图时返回true。如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]中不存在i,并且graph[i]中没有重复的值。...转载 2020-07-17 17:20:58 · 487 阅读 · 0 评论 -
三数之和Java实现(力扣15/1557)
力扣刷题小记题目描述如下:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], ...原创 2020-03-16 00:15:06 · 368 阅读 · 0 评论 -
整数转罗马数字Java实现(力扣12/1557)
力扣刷题小记题目描述如下:罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写...原创 2020-03-14 20:44:35 · 224 阅读 · 0 评论 -
盛最多水的容器Java实现(力扣11/1557)
力扣刷题小记题目描述:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点(i,ai) 。在坐标内画 n 条垂直线,垂直线 i的两个端点分别为(i,ai) 和 (i, 0)。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且n的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,...原创 2020-03-14 17:42:00 · 273 阅读 · 0 评论 -
Z 字形变换Java实现(力扣6/1557)
力扣刷题小记题目描述:将一个给定字符串根据给定的行数,以从上往下、从左到右进行Z 字形排列。比如输入字符串为 "LEETCODEISHIRING"行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESIIGEDHN"。请你实现这个将...原创 2020-03-13 22:25:26 · 191 阅读 · 0 评论 -
最长回文子串Java实现(力扣5/1557)
力扣刷题小记题目描述:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-pa...原创 2020-03-13 17:43:02 · 184 阅读 · 0 评论 -
外观数列Java实现(力扣38/1557)
力扣刷题小记题目描述:「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 1112211被读作"one 1"("一个一") , 即11。11 被读作"two 1s"("两个一"), 即21。21 被读作"one 2", "o...原创 2020-03-12 22:19:54 · 493 阅读 · 0 评论 -
合并两个有序链表(力扣21/1557)
力扣中国刷题小记题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-...原创 2020-03-12 16:57:21 · 63 阅读 · 0 评论 -
字符串转换整数 (atoi) Java实现(力扣8/1557)
题目描述如下:请你来实现一个atoi函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。该字符串除了有效的整数部分之后也可能会存在多余...原创 2020-03-06 00:48:02 · 260 阅读 · 0 评论 -
两数相加Java实现(力扣2/1557)
力扣中国刷题小记题目描述:给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4...原创 2020-03-04 17:34:37 · 309 阅读 · 0 评论