随笔分类 -  力扣

摘要:/*给你一个二叉树的根节点 root , 检查它是否轴对称。 解题思路 递归结束条件: 都为空指针则返回 true 只有一个为空则返回 false 递归过程: 判断两个指针当前节点值是否相等 判断 A 的右子树与 B 的左子树是否对称 判断 A 的左子树与 B 的右子树是否对称 短路: 在递归判断过 阅读全文
posted @ 2022-03-11 09:39 随遇而安== 阅读(29) 评论(0) 推荐(0)
摘要:/*给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 解题思路 标签:深度优先遍历 终止条件与返回值: 当两棵树的当前节点都为 null 时返回 true 当其中一个为 null 另一个不为 null 时返 阅读全文
posted @ 2022-03-11 09:36 随遇而安== 阅读(27) 评论(0) 推荐(0)
摘要:/*给定一个二叉树的根节点 root ,返回它的 中序 遍历。 思路: 二叉树的遍历 前序: 根 -> 左 -> 右 中序: 左 -> 根 -> 右 后序: 左 -> 右 -> 根 /** * Definition for a binary tree node. * public class Tre 阅读全文
posted @ 2022-03-11 09:34 随遇而安== 阅读(47) 评论(0) 推荐(0)
摘要:/*给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意:最终,合并后数组不应由函数返回,而是存储在数组 num 阅读全文
posted @ 2022-03-11 09:32 随遇而安== 阅读(50) 评论(0) 推荐(0)
摘要:/*给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; 阅读全文
posted @ 2022-03-10 09:04 随遇而安== 阅读(41) 评论(0) 推荐(0)
摘要:/*假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 标签:动态规划 本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和 爬上 n-1n−1 阶楼梯的方法数量。因为再爬1阶就能到第n阶 爬上 n-2n 阅读全文
posted @ 2022-03-10 09:02 随遇而安== 阅读(38) 评论(0) 推荐(0)
摘要:/*给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 思路: 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 从题目的要求和示例我们可以看出,这其实是一个查找整数的问题,并且这 阅读全文
posted @ 2022-03-10 08:59 随遇而安== 阅读(43) 评论(0) 推荐(0)
摘要:/*给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 思路 整体思路是将两个字符串较短的用 00 补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。 本题解中大致思路与上述一致,但由于字符串操作原因,不确定最后的结果是否会多出一位 阅读全文
posted @ 2022-03-10 08:55 随遇而安== 阅读(49) 评论(0) 推荐(0)
摘要:/*给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路 标签:数组遍历 这道题需要整理出来有哪几种情况,在进行处理会更舒服 末位无进位,则末位加一即可,因 阅读全文
posted @ 2022-03-10 08:53 随遇而安== 阅读(26) 评论(0) 推荐(0)
摘要:/*给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 思路 标签:字符串遍历 从字符串末尾开始向前遍历,其中主要有两种情况 第一种情况,以字符串"Hello World"为例,从后向前遍历 阅读全文
posted @ 2022-03-10 08:50 随遇而安== 阅读(34) 评论(0) 推荐(0)
摘要:/*给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 思路 这道题用动态规划的思路并不难解决,比较难的是后文提出的用分治法求解,但由于其不是最优解法,所以先不列出来 动态规划的是首先对数组进行遍历,当前最大连 阅读全文
posted @ 2022-03-10 08:46 随遇而安== 阅读(24) 评论(0) 推荐(0)
摘要:/*给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解题思路 标签:二分查找 如果该题目暴力解决的话需要 O(n)O(n) 的时间复杂度,但是如果二分的话则可以降低到 O(l 阅读全文
posted @ 2022-03-10 08:32 随遇而安== 阅读(22) 评论(0) 推荐(0)
摘要://实现strStr()函数。 // //给你两个字符串haystack 和 needle , // 请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。 // 如果不存在,则返回 -1 // KMP 算法 // ss: 原串(string) pp: 匹 阅读全文
posted @ 2022-03-09 20:46 随遇而安== 阅读(34) 评论(0) 推荐(0)
摘要://给你一个数组 nums和一个值 val,你需要 原地 移除所有数值等于val的元素,并返回移除后数组的新长度。 //不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 //元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 //根据题意,我们可以将数组分成 阅读全文
posted @ 2022-03-09 20:45 随遇而安== 阅读(22) 评论(0) 推荐(0)
摘要://给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 , // 返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 // //由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说, // 如果在删除重复项之后 阅读全文
posted @ 2022-03-09 20:44 随遇而安== 阅读(58) 评论(0) 推荐(0)
摘要://5.有效的括号 //给定一个只包括 '(',')','{','}','[',']'的字符串 s ,判断字符串是否有效。 //有效字符串需满足: //左括号必须用相同类型的右括号闭合。 //左括号必须以正确的顺序闭合。 public boolean isValid(String s) { Stac 阅读全文
posted @ 2022-03-09 20:27 随遇而安== 阅读(34) 评论(0) 推荐(0)
摘要://编写一个函数来查找字符串数组中的最长公共前缀。 //如果不存在公共前缀,返回空字符串 ""。 //思路 //标签:链表 //当字符串数组长度为 0 时则公共前缀为空,直接返回 //令最长公共前缀 ans 的值为第一个字符串,进行初始化 //遍历后面的字符串,依次将其与 ans 进行比较,两两找出 阅读全文
posted @ 2022-03-09 20:23 随遇而安== 阅读(39) 评论(0) 推荐(0)
摘要:public class L3 { // 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 // 字符 数值 // I 1 // V 5 // X 10 // L 50 // C 100 // D 500 // M 1000 // 例如, 罗马数字 2 写做II,即为两个并列的 1 。12 写 阅读全文
posted @ 2022-03-09 20:21 随遇而安== 阅读(361) 评论(0) 推荐(0)
摘要://2.回文数 //给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 //回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 public boolean isPalindrome(int x){ //转换 阅读全文
posted @ 2022-03-09 20:12 随遇而安== 阅读(36) 评论(0) 推荐(0)
摘要://1.两数只和 // 给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那两个整数, // 并返回它们的数组下标。 // 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 // 你可以按任意顺序返回答案。 pu 阅读全文
posted @ 2022-03-09 20:03 随遇而安== 阅读(27) 评论(0) 推荐(0)