摘要:
一、题目 1、审题 2、分析 输出杨辉三角的第 n 行,其中行号从 0 开始。 二、解答 1、思路: 方法一、 直接在一个 List 中计算杨辉三角的每一行。 采用一个 for 循环,每次循环一次就,向 List 头部添加一个元素 1,且 从下标 1 开始,每个元素值变为 val(i) + val( 阅读全文
摘要:
一、题目 1、审题 2、分析 输入一个整数 n, 返回杨辉三角的 n 行。 二、解答 1、思路: 方法一、 利用一次循环,直接计算杨辉三角的一行。再利用一次循环用 List 存储杨辉三角的 n 行。 方法二、 直接在一个 List 中计算杨辉三角的每一行。 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一棵二叉树,可能是非完全二叉树,补全每个节点的 next 指针。 二、解答 1、思路: 方法一、 采用三个指针进行依层次补全 next 指针。 阅读全文
摘要:
一、题目 1、审题 2、分析 给出一个完全二叉树,添加二叉树的 next 指针指向。 二、解答 1、思路: 方法一、 采用队列进行层次遍历,遍历时添加 next 指针。 方法二、 利用两个指针进行层次遍历,添加 next 指针 方法三、 利用递归实现每一层的 next 指针。 阅读全文
摘要:
一、题目 1、审题 2、分析 给出字符串 s, 字符串 t;判断 s 中包含 t 的个数,其中 s 中的字符可以间隔包含,但不可以字符交叉包含 t 的字符。 二、解答 1、思路: 方法一、 采用 dp 进行实现。 ①、新建二维数组, dp[t.length()+1][s.length+1],其中 d 阅读全文
摘要:
1、 采用传统的递归 (O(n)的空间复杂度) 2、采用 Stack + 迭代的方式 (O(n)的空间复杂度) ①、先序遍历 优化: Stack 只用于存储 Right 节点。 ②、中序遍历 优化 ③、后续遍历 a、采用 Stack 进行压栈操作,同时采用一个 Map 记录该节点的右孩子是否被访问过 阅读全文