摘要:
☆☆☆☆思路:回溯算法. 回溯算法事实上就是在一个树形问题上做DFS。因此,需要先将原问题转化为树形问题 每一个节点可以选择截取的方法有三种:截1位、截2位、截3位。因此每一个结点可以生长出的分支最多只有 3 条分支; 由于 ip 段最多就 4 个段,因此这棵三叉树最多 4 层,这个条件作为递归终止 阅读全文
摘要:
☆☆☆思路:递归。本题是典型的树形问题 使用StringBuilder要比拼接String效率高,但注意需要回溯操作。 class Solution { List<String> res; // 作为类的一个成员变量 String[] map = new String[]{ "", "", "abc 阅读全文
摘要:
☆☆☆思路:二叉搜索树的删除操作是最难的。。。 class Solution { public TreeNode deleteNode(TreeNode root, int key) { /** * 知识点: * 1. BST的递归模板 * 2. BST删除某个节点,可以将其替换为左子树的最右节点 阅读全文
摘要:
思路:中序遍历 递归 / 非递归 class Solution { int count = 0; int res = 0; public int kthSmallest(TreeNode root, int k) { inOrder(root, k); return res; } private v 阅读全文