- 博客(8)
- 收藏
- 关注
原创 java面试知识总结
S String String 为什么设计为final? 被final修饰的类不能被继承,也就是不能有子类。那么为什么要把String设计为不能被继承呢?简单来说有两点:安全和效率。 安全 于Java的多态特性,当我们把MyString的实例作为参数传入method()方法时,编译器是不会报错的。但是我们的运行结果则完全错误,这会造成非常严重的后果。整个类声明为final之后,如果有一个String的引用,则它引用的一定是String对象,而不会是其他类的对象(泛型允许引用子类) 引用类型本身的
2021-05-22 16:56:59
199
原创 回溯复习
回溯复习 E 二叉树的所有路径 List<String> ans = new LinkedList<>(); public List<String> binaryTreePaths(TreeNode root) { if(root == null){ return ans; }else{ LinkedList<Integer> list = new LinkedList<>(); backtrak
2021-03-31 15:48:57
228
原创 二分查找复习
F 分割数组的最大值 public int splitArray(int[] nums, int m){ int left = Integer.MIN_VALUE; int right = 0; for(int i = 0;i < nums.length; i++){ if(nums[i] > left){ left = nums[i]; } right += nums[i]; } while(left < right){ int
2021-03-25 15:27:51
305
原创 二叉树复习
B 把二叉搜索树转换为累加树 把二叉搜索树转换为累加树 int val = 0; public TreeNode convertBST(TreeNode root) { if(root == null){ return root; }else{ convertBST(root.right); root.val += val; val = root.val; convertBST(root.left); return root; } } C
2021-03-20 13:30:08
257
2
原创 链表复习
C 重排链表 public void reorderList(ListNode head){ if(head == null||head.next == null||head.next.next == null){ return; } ListNode fast = head; ListNode slow = head; while(fast != null && fast.next != null){ fast = fast.next.next; sl
2021-03-15 16:01:35
263
3
原创 剑指offer
剑指 Offer 30. 包含min函数的栈 class MinStack { Stack<Integer> data; Stack<Integer> min; public MinStack() { data = new Stack<>();//本段代码只能写在构造函数里 min = new Stack<>(); } public void push(int x) { data.push(x)
2020-12-03 20:04:09
153
1
原创 二分查找
二分查找 题目1283 这道题尝试了暴力解法,很明显会超时 首先给数组拍个顺序,左界限为1,右边为最大的数,取中间数进行除法运算结果取上整,比较大小来决定下一次在哪个区间内进行判断。二分查找最容易出错的就是是否取等号的问题。 package bianry_search;import java.lang.reflect.Array; import java.util.Arrays; import javax.swing.text.StyleContext.SmallAttributeSet; public
2020-09-19 18:46:04
224
原创 leetcode 位运算
leetcode 位运算 遇见题目是能够想到位运算这件事本身有一定的难度,但是一旦想到这个的方法,题目解答会变得比比较简单。 首先复习一下在java中的位运算符号。 java中的位运算一般有: ^ 异或 & 与 |或 ~ 非 右移>> 常用(右移运算符,符号左侧数值 按位右移 符号右侧数值指定的位数,若为正数则高位补0,若为负数则高位补1) 无符号右移>>(无符号右移运算符,符号左侧数值 按位右移 符号右侧数值指定的位数,无论正负高位补0) <<左移(没有无符号左
2020-09-08 17:10:18
252
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅