二叉树 part01

算法 

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

栈与队列 part02

算法 

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

栈与队列 part01

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

算法 

字符串 part02

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

算法 
字符串 part02
字符串 part01

字符串 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]

算法 
哈希表 part02
哈希表 part01

哈希表 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

算法 
链表 part02
链表 part01

链表 part01

LeetCode 203.移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 题

算法 

数组 part02

LeetCode 209.长度最小的子数组 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合

算法 
数组 part02