本文介绍了牛客网 NC45 题目——实现二叉树的先序、中序、后序遍历。要求在 O(n) 时间、O(n) 空间内输出三个遍历序列。解法使用递归分别实现三种遍历,将节点值依次加入对应的 `ArrayList`,遍历结束后通过 `stream().mapToInt` 将列表转为 `int[]`,再组成 `int[3][n]` 返回。代码重点包括递归终止条件、ArrayList 大小管理以及列表转数组的实现。

本题要求对长度不超过 1000、元素值在 0~10⁹ 的整数数组实现升序排序,基本要求时间复杂度 O(n²)、空间 O(n),进阶要求 O(nlogn) 同样 O(n) 空间。题目鼓励使用多种排序算法实现,示例展示了输入输出格式。参考实现中直接使用 Java 标准库 `Arrays.sort` 完成排序,先判空再调用排序函数,返回已排好序的数组。

本文介绍了单链表反转的实现。给定长度不超过1000的链表,要求在 O(n) 时间、O(1) 额外空间内完成反转并返回新表头。示例说明输入 {1,2,3} 输出 {3,2,1},空链表返回空。提供的 Java 解法采用迭代方式:遍历链表时保存当前节点的下一个节点,将当前节点指向前驱节点,随后更新前驱和当前指针,直至遍历结束,返回最终的前驱节点即为反转后的头结点。代码简洁,符合题目空间、时间复杂度要求。

本文介绍了在 NowCoder 平台上的“大数加法”题目,要求读取两个仅含数字字符的字符串(长度≤100000),实现函数返回它们的和,同样以字符串形式输出。示例展示了普通加法和空串情况。解法直接利用 Java 的 `BigInteger` 类,将输入字符串转为大整数后相加,最后返回结果的字符串表示,满足 O(n) 时间复杂度要求。

本文通过示例代码演示了 Apache Commons‑Lang3 中 `StringUtils` 常用 API 的用法与区别,重点比较了 `isEmpty/isBlank`(仅判断空值 vs 包含空格)、`isAnyEmpty/isNoneEmpty`(任意为空 与 全部非空的相反关系)、`isAnyBlank/isNoneBlank`(任意空白 与 全部非空白的相反关系),并给出对应的输出结果。文末列出 `StringUtils` 其它常用方法(如 trim、equals、startsWith、substring、split、replace、pad、case 转换等)及其中文含义,并提供官方文档链接供进一步查阅。

文章以“行动、努力、改变、学习、目标、勇气、归零、热爱、宽容、感恩”十个关键词,鼓励读者抛弃怨天尤人,立即行动、持续努力、主动改变、不断学习、设定小目标、保持勇气、放下过去、热爱生活、宽容他人、常怀感恩,以此在2022上半年收官并迎接更好的下半年。