- 博客(4)
- 收藏
- 关注
原创 [Leetcode]-701. 二叉搜索树中的插入操作(二叉树)
题目: 给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据保证,新值和原始二叉搜索树中的任意节点值都不同。 注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回任意有效的结果。 思路: 二叉搜索树(BST)定义,判断插入值应在根节点的左树或右树, 不断递归,直到找到符合条件的空节点 解答: /** * Definition for a binary tree node. * public clas
2020-09-30 09:35:15 337
原创 [Leetcode]-27.移除元素(数组)
题目: 移除元素,需要 原地移除所有数值等于val的元素,并返回移除后数组的新长度 思路: 由于需要原地修改,想到的是遍历数组,当遇到数值等于val时,便与最后一位交换,并再次校验交换后的当前位置。 解答: class Solution { public int removeElement(int[] nums, int val) { int n = nums.length; for (int i = 0; i < n; i++){ ...
2020-09-17 11:19:08 91
原创 [Leetcode]-226.翻转二叉树
从根节点开始,递归地对树进行遍历,并从叶子结点先开始翻转,遍历到的节点\textit{root}root的左右两棵子树都已经翻转,那么我们只需要交换两棵子树的位置 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } *...
2020-09-16 09:25:51 101
原创 [Leetcode]-35. 搜索插入位置(数组)
不断用二分法逼近查找第一个大于等于 target的下标 class Solution { public int searchInsert(int[] nums, int target) { int l = 0; int r = nums.length - 1; while (l <= r){ int mid = ((r - l) >> 1) + l; if (nums[mid]...
2020-09-15 10:54:29 98
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人