文章封面

二叉树 part03

leetcode 110. 平衡二叉树 题目描述 给定一个二叉树,判断它是否是 平衡二叉树 示例 输入:root = [3,9,20,null,null,15,7] 输出:true 解决思路 根据平衡二叉树的定义,左右子树高度差小于等于1,且左右子树也都是平衡的。进行自上而下递归查询 class S

算法 

二叉树 part02

leetcode 226. 翻转二叉树 题目描述 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 解题思路 逐层交换左右子节点 class Solution { public

算法 
文章封面

二叉树 part01

算法 

LeetCode 144.二叉树的前序遍历 题目描述 给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 输入:root = [1,null,2,3] 输出:[1,2,3] 解释: 题目链接 https://leetcode.cn/problems/binary-tree-preor

栈与队列 part02

算法 

LeetCode 150.逆波兰表达式求值 题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 '+'、'-'、'*' 和 '/' 。 每个操作数(运算对象)都可以是一个整数或者另一个表达
文章封面

栈与队列 part01

LeetCode 323.用栈实现队列 题目描述 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾 int pop() 从队列的开头移除并返回元素

算法 

字符串 part02

LeetCode 151.翻转字符串里的单词 题目描述 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 **注意:**输入字符串 s中可能会存

算法 
文章封面
文章封面

字符串 part01

LeetCode 344.反转字符串 题目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 输入:s = ["h","e","l","l","o"] 输出

算法 

哈希表 part02

LeetCode 454.四数相加II 题目描述 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, k, l < n nums1[i] + nums2[j] + nums3[k]

算法 
文章封面
文章封面

哈希表 part01

LeetCode 242.有效的字母异位词 题目描述 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词 示例 输入: s = "anagram", t = "nagaram" 输出: true 题目链接 https://leetcode.cn/problems/vali

算法 

链表 part02

LeetCode 24.两两交换链表中的节点 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 输入:head = [1,2,3,4] 输出:[2,1,4,3] 题目链接 https://leetco

算法 
文章封面