- 博客(14)
- 收藏
- 关注
原创 《LeetCode》107. Binary Tree Level Order Traversal II( 二叉树的层次遍历 II)
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回其自底向上的层次遍历为:[[15,7],[9,20],[3]]补充:List,这是jdk1.5后版本才有的新特性,泛型,指定传入的类型。这样定义之后,这个l...
2019-03-12 22:36:29
103
1
原创 《LeetCode》104Maximum Depth of Binary Tree(二叉树的最大深度)
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/ 9 20/ 15 7返回它的最大深度 3 。使用递归的方法:public int maxDepth(TreeNode root) {if(root==null){r...
2019-03-10 17:49:19
93
原创 《LeetCode》83Remove Duplicates from Sorted List(删除排序链表中的重复元素)
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3public ListNode deleteDuplicates(ListNode head) {if(head==null) return head;...
2019-03-09 11:46:45
110
原创 《LeetCode》 70 climbing stairs
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。3. 1 阶 + 1 阶 + 1 阶4. 1 阶 + 2 阶5. ...
2019-03-08 22:36:45
80
原创 《LeetCode》sqrt(x)(x的平方根)
实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842…,由于返回类型是整数,小数部分将被舍去。这里面使用两个Java里的方法一个是sqrt();一个是将double型转为int型。...
2019-03-07 21:55:36
278
翻译 《LeetCode》67. Add Binary(二进制求和)
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”StringBuffer长度和内容可变,而String不可变。用到String中的charAt()方法,charAt() 方法用于返...
2019-03-06 23:44:30
152
转载 《LeetCode》66 plus one(加一)
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。public ...
2019-03-04 21:19:17
186
原创 《LeetCode》58Length Of Last Word(最后一个单词长度)
给定一个仅包含大小写字母和空格 ’ ’ 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: “Hello World”输出: 5在java中string。trim()是去掉字符串首尾的空格。在Java中String.lastIndexOf()是从右向左查某个指定的字符串在字符串中最后出现的位置...
2019-03-04 20:45:56
109
翻译 《LeetCode》53 Maxmum Subarray(最大子序和)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。当时清华的一道考研题目。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。public int maxSubArray(int[] nums) {//判空条件int length =nums.leng...
2019-03-04 19:03:40
69
翻译 《LeetCode》 35 search insert position(搜索插入位置)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0在这里采用二分法...
2019-03-03 19:20:08
76
原创 《LeetCode》28 Implement strStr
实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1 。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”, needle = “bba...
2019-03-03 11:56:10
116
原创 《LeetCode》27remove element(删除元素)
给定一个数组 nums 和一个值 val ,你需要 原地 移除所有数值等于 val 的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前...
2019-03-03 10:13:42
142
原创 《LeetCode》26. Remove Duplicates from Sorted Array(删除重复出现的元素)
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 ...
2019-03-02 10:45:56
113
转载 <leetcode>21. Merge Two Sorted Lists
将两个有序链表合并为一个新的有序链表并返回,新链表是通过拼接给定的两个链表的所有节点组成的在这里看到一个大神的代码,运行时间1 ms, 4 lines codes, using recursionpublic ListNode mergeTwoLists(ListNode l1, ListNode l2){if(l1 == null) return l2;if(l2 == null) r...
2019-03-02 09:58:03
131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人