文章目录
🎪 前言:关于JAVA刷题
🤙关于JAVA的学习出了看视频以外,那就是刷题了,朋友们,你们有没有过这样的感觉,在网上看了视频过后感觉自己什么都听懂了,但就是写题和做项目时无从下手,或者就是因为某个细节一直错一直改,那背后的原因是什么呢?四个字——题刷少了,这里新一建议去
Leetcode
看看,那里的题库资源很丰富,并且在全球都有广泛涉猎。不仅如此,这里还有 课程 + 刷题 + 面经 + 求职 + 讨论区分享解题思路,用过的人都说好😜
👉除此之外,我的建议是初学者从简单题
开始练习,因为简单题是一切题的基础,一切的困难题都是从简单题衍生而来的,每天刷那么2~3题,后期再慢慢刷中等题,困难题,经过一段时间后会有很不错的提升
此外,在我们有一定的提升之后,我们便可以去刷剑指offer
了,在这里预祝各位大学生以及初学者都拿到自己满意的offer!💖
第一题:根据二叉树创建字符串
👇👇👇
做题链接戳这里:606.根据二叉树创建字符串
🚀 题目描述
给你二叉树的根节点 root ,请你采用前序遍历的方式,将二叉树转化为一个由括号和整数组成的字符串,返回构造出的字符串。
空节点使用一对空括号对 “()” 表示,转化后需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。
🚀示例
🚀提示
● 树中节点的数目范围是 [1, 104]
● -1000 <= Node.val <= 1000
🧰题解
首先我们要进行频繁的字符串拼接,那么最省空间的就是我们的StringBuilder类型了,我们再看看它的用例,根据它对应的两个用例,我们分别在左树空和左树不空以及右树空,右树不空的情况append括号即可。
public void treeToString(TreeNode root, StringBuilder sb){
if (root == null) return;
sb.append(root.val);
if (root.left != null){
sb.append("(");
treeToString(root.left, sb);
sb.append(")");
}else{
if (root.right == null){