LeetCode-230-二叉搜索树中第K小的元素1. 题目:二叉搜索树中第K小的元素 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4, ...
LeetCode-116-填充每个节点的下一个右侧节点指针
LeetCode-116-填充每个节点的下一个右侧节点指针1. 题目:填充每个节点的下一个右侧节点指针 给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *righ ...
浅谈final关键字
浅谈final关键字final关键字的含义?final是Java中一个保留的关键字。可以声明变量、方法、类,虽然在不同的场景下有细微区别,但总体上都是指,“是不可变的”。 final修饰变量我们经常会使用到“常量”,在Java中,用final修饰过的变量,只能进行一次赋值操作,并且在生存周期中不能改 ...
String类的不可变性
String类的不可变性1.什么是不可变性? Java中的String类是不可变的.那么一般对不可变对象的理解是:如果一个对象,在它创建完成后,不能再改变它的状态,则这个对象是不可变的. 不能改变状态是指,不能改变对象内部的成员变量,包括基本数据类的值不能变,引用类型的变量不能指向 ...
LeetCode-105-从前序与中序遍历序列构造二叉树
LeetCode-105-从前序与中序遍历序列构造二叉树1. 题目:从前序与中序遍历序列构造二叉树 根据一棵树的前序遍历与中序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,2 ...
LeetCode-103-二叉树的锯齿形层次遍历
LeetCode-103-二叉树的锯齿形层次遍历1. 题目:给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \9 20 / \ 15 7 ...
LeetCode-621-任务调度器
LeetCode-621-任务调度器1. 题目:Task Scheduler 给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可 ...
LeetCode-169-求众数
LeetCode-169-求众数1. 题目:求众数 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3]输出: 3 示例 2: 输入: [2,2,1,1,1,2,2 ...
LeetCode-150-逆波兰表达式求值
LeetCode-150-逆波兰表达式求值1. 题目:逆波兰表达式求值 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且 ...
LeetCode-371-两整数之和
LeetCode-371-两整数之和1. 题目: 两整数之和 不使用运算符 + 和 - ,计算两整数 a 、b 之和。 示例 1: 输入: a = 1, b = 2输出: 3 示例 2: 输入: a = -2, b = 3输出: 1 2. 解题:使用二进制加法,也就是位运算。二进制加法有四种组合:1 ...