文章介绍了在仅含数字的字符串中插入二元运算符“+、-、*”,使表达式计算结果等于给定目标值的问题,并给出 Java 实现。核心思路是深度优先搜索遍历所有切分方式,使用回溯在每个数字前插入运算符;通过维护当前累计结果 `res` 与最近乘法因子 `mul`,在遇到乘法时进行结果修正以保证运算顺序正确。代码中处理了前导零限制、表达式构建以及最终结果收集,返回所有满足目标值的表达式列表。

本文介绍了“只出现一次的数字(二)”题目:在一个整数数组中,唯一出现一次的数其余均出现三次,要求找出该数。数据规模 up to 10⁵,整数范围为 32 位有符号。给出一种位计数解法:用长度为 32 的数组统计每个位上 1 的出现次数,对每个位取模 3,余 1 的位即为唯一数的对应位,最后合成结果返回。代码实现基于 Java,时间 O(n·32),空间 O(32)。

文章介绍了 NC14 “按之字形顺序打印二叉树” 的题目要求,包括输入输出示例,说明层序遍历需交替左右方向。给出一种时间、空间均为 O(n) 的解法:使用队列进行层次遍历,逐层收集节点值,利用布尔标记在奇数层逆序后加入结果列表。代码实现了上述思路,兼容空树情况。

本文介绍了牛客网 BM83 “字符串变形”题目:给定长度 n (1≤n≤10⁶)的仅含字母和空格的字符串,需要将由空格分隔的单词顺序反转,并将每个字符的大小写互换,例如 “Hello World” → “wORLD hELLO”。题目要求时间、空间均为 O(n)。文中提供了示例输入输出,并给出 Java 实现思路:先使用 `split` 按空格分割(保留空串),从右向左拼接每个子串的大小写转换结果,单词之间补空格;大小写转换在 `reverse` 方法中完成。整体代码实现简洁,满足题目约束。

文章要求实现一个函数,输入两个以字符串形式表示的非负整数(0≤n≤10^1000),返回它们乘积的字符串。空间复杂度需为 O(n),时间复杂度为 O(n²)。示例展示了“11”“99”返回“1089”、以及“1”“0”返回“0”。提供的参考代码直接利用 Java 的 BigInteger 类完成大数乘法,读取字符串后转换为 BigInteger,调用 multiply 方法,再将结果转为字符串返回。

本文介绍了“岛屿数量”问题:给定只含字符‘0’和‘1’的矩阵,‘1’表示陆地,四方向相连的‘1’构成同一岛屿,要求统计岛屿总数。示例说明输入输出关系。解法为遍历矩阵,遇到‘1’时计数并通过深度优先搜索(DFS)将该岛屿的所有相连‘1’标记为‘0’,防止重复计数。代码实现包括主函数 `solve` 统计岛屿数,以及递归 `dfs` 完成四邻域扩展,时间复杂度 O(n·m)。