leecode
♚ 余温
这个作者很懒,什么都没留下…
展开
-
二叉树的前序,中序,后序遍历(递归,迭代方法)
二叉树的前序,中序,后序遍历(递归,迭代方法) 前序遍历 递归 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(int val) { this.val = val; } * TreeNode(int val, T原创 2021-07-06 19:26:14 · 78 阅读 · 0 评论 -
leecode 最后一个单词的长度
leecode最后一个单词的长度问题描述示例题解源码 问题描述 给你一个字符串 s,由若干单词组成,单词之间用空格隔开。返回字符串中最后一个单词的长度。如果不存在最后一个单词,请返回 0 。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 输入:s = “Hello World” 输出:5 题解 需要注意几点: 字符串长度为0; 字符串结尾有多个空格 先对字符串进行处理:去除结尾的空格; 从字符串后往前扫描,遇到空格,即得到最后一个单词的长度。 源码 class Solution {原创 2021-07-06 10:37:14 · 72 阅读 · 0 评论 -
leecode错误的集合
leecode错误的集合 题目描述 集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。 给定一个数组 nums 代表了集合 S 发生错误后的结果。 请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。 示例 输入:nums = [1,2,2,4] 输出:[2,3] 解题 时间换空间 源码 class Solution { public int[] findEr原创 2021-07-04 16:04:19 · 88 阅读 · 0 评论 -
leecode 删除有序数组中的重复项
leecode 删除有序数组中的重复项 问题 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 输入:nums = [1,1,2] 输出:2, nums = [1,2] 解释:函数应该返回新的长度 2 ,并且原数组 nums 的前两个元素被修改为 1, 2 。不需要考虑数组中超出新长度后面的元素。 算法思路 使用快指针与慢指针: 边界: 如原创 2021-07-03 10:29:34 · 94 阅读 · 0 评论 -
2021-07-03
leecode最大子序和题目示例题解源码 题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 题解 动态规划对数组进行遍历: 如果 当前sum > 0,则说明 sum 对结果有增益效果,则 sum 保留并加上当前遍历数字 如果 sum <= 0,则说明 sum 对结果无增益效果,则舍弃,则将su原创 2021-07-03 10:03:55 · 70 阅读 · 0 评论