随笔分类 - leetcode-easy
just do it !
摘要:题面:我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 guess(int num),它会返回 3 个可能的结果(-1,1 或 0): -1 : 我的数字比较小(预设的值小
阅读全文
摘要:名曰删除,其实是只读取头部的n个元素(n-不同的元素数) 空间:O(1) 时间:O(n) 简单算法:只需要用一个变量计数,然后将不同值的元素值赋给该计数处的值。
阅读全文
摘要:题面 找出二叉树的最小深度(从根节点到某个叶子节点路径上的节点个数最小)。 算法 算法参照二叉树的最大深度,这里需要注意的是当某节点的左右孩子都存在时,就返回左右子树的最小深度;如果不都存在,就需要返回左右子树的最大深度(因为子节点不存在的话,通向该子树的路径就走不同,就不存在深度,也无法比较。只能
阅读全文
摘要:easy 题就不详细叙述题面和样例了,见谅。 题面 统计二叉树的最大深度。 算法 递归搜索二叉树,返回左右子树的最大深度。 源码
阅读全文
摘要:题面 判断给定二叉树是否对称。 Note : empty tree is valid. 算法 1. 根节点判空,若空,则返回true;(空树对称) 2. 根节点不空,递归判断左右子树。如果左右孩子都空,说明到了叶子,返回true;不都空而且一空一不空,返回false;都不空,且值不等,返回false
阅读全文
摘要:题面 对比两棵二叉树是否相同,返回结果。 思路 1. 递归解决DFS 首先判断根节点,如果都空,返回true; 如果一空一不空,返回false; 如果都不空,判断两节点值是否相同,若不同,返回false,若相同,递归左子树、右子树 源码 2. 层序遍历解决: 队列 1. 首先判断根节点,如果都空,返
阅读全文
摘要:题面 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 样例 算法 时间复杂度:O(n+m) 与合并有序链表类似。 1. 如果m为0,直接返回就可以了。如果n为0,则需要把nums2中前n个元素都搬到nums1中,返回。 2
阅读全文
摘要:题面 合并两个排序链表。 算法 创建结果链表头*res,*p指向头,当两个链表节点都不为空时,比较节点值,值小的挂在p后面,二者(p和小者)顺次后移。知道某条链表空,跳出while循环。接着,直接将不空的链表挂在p后即可。 Note: 注意返回值 res->next; 源码
阅读全文
摘要:leetcode-83.删除排序链表中的重复元素 Points 链表 题意 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 示例 2: 示例 3: 示例 4: 算法 双指针(n2 = n1->next)遍历排序链表 如果两指针值相等,删除后一节点。 (注意判断n2是否越界
阅读全文
摘要:leetcode-70.爬楼梯 Points 斐波那契 动态规划 题意 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 示例 2: 示例 3: 算法 本题算法思想参考自 https:/
阅读全文
摘要:leetcode-69.x的平方根 Points 二分查找 牛顿迭代 题意 实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 示例 2: 示例 3: 算法-1 牛顿迭代 用时:16
阅读全文
摘要:leetcode-67.二进制求和 Points 数组 数学 题意 给定两个二进制字符串,返回他们的和(用二进制表示)。 输入为非空字符串且只包含数字 1 和 0。 示例 1: 示例 2: 示例 3:(自己加的) 算法 用时:4ms 复杂度:O(n) code
阅读全文
摘要:leetcode-217存在重复元素 题意 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例 1: 示例 2: 示例 3: 算法 用时:24ms 复杂度:<= O(n) 升序排序,遍历数组,如果存在元
阅读全文
摘要:leetcode-977. 有序数组的平方 (来自 120周赛) 题意 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。 示例 1: 示例 2: 提示: 算法 给平方,升序排序。 code
阅读全文
摘要:leetcode-66.加一 题意 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 示例 2: 示例 3: 示例 4: 算法 对数组末尾元素+1,进入模
阅读全文
摘要:leetcode-58.最后一个单词的长度 题意 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。 如果不存在最后一个单词,请返回 0 。 说明:一个单词是指由字母组成,但不包含任何空格的字符串。 示例: 算法 code 上面代码有些乱,最近更新了一版 源码 算法 1.
阅读全文
摘要:leetcode-53.最大子序和 题意 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 算法(DP O(n)) 定义待返回变量 ans(初值nums[0]), 中间累加变量 sum(初值0) 遍历给定数组 如果sum大于0,sum求和
阅读全文
摘要:leetcode-38.报数 题意 报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 被读作 "one 1" ("一个一") , 即 11。 11 被读作 "two 1s" ("两个一"), 即 21。 21 被读作 "one 2", "one 1" ("一个二
阅读全文
摘要:leetcode-35.搜索插入位置 题意 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 示例 2: 示例 3: 示例 4: 算法 ...没有,实在太简单。 code
阅读全文
摘要:题意 实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 样例 示例 1: 示例 2: 说明: 算法 如果haystack字符串为空,直接返
阅读全文

浙公网安备 33010602011771号