Java递归问题
lhj_loveFang_1105
稳住不慌
展开
-
java中合并二叉树
题目如下: private TreeNode buildTree(TreeNode t1,TreeNode t2) { TreeNode node = new TreeNode(-1); if(t1 == null && t2 == null) { return null; } if(t1 ...原创 2020-05-03 21:07:46 · 787 阅读 · 0 评论 -
找最近公共祖先,将二叉搜索树转换为双向链表,根据先序和中序结果构造二叉树(不含空节点),将先序结果转为字符串
1.给定两个数,找到其公共的最近祖先题目如上,需要注意的是,节点本身也可以是自己的祖先。例如,7和2的公共祖先就是26和4的公共祖先就是5,而不是3,因为3不是最近的首先的思路就是,通过遍历二叉树,如果通过一个节点,可以找到这两个值,说明这个节点就是一个公共祖先,但问题是,我们不知道这个节点是不是她的最近祖先。我们分析可以得出,只要这两个要找的节点分别位于:根节点,左子树,右子树中的任意...原创 2020-04-26 20:03:45 · 190 阅读 · 0 评论 -
二叉树的中序和后序遍历及通过遍历对二叉树进行查询
一.二叉树中序遍历public static void inOrder(Node root) { if (root == null) { return; } inOrder(root.left); System.out.print(root.val); inOrder(root.right)...原创 2020-04-21 14:21:26 · 299 阅读 · 0 评论 -
二叉树的先序遍历及其递归思想
关于二叉树的先序遍历呢,我们就以上面的二叉树为例进行讲述:先序遍历呢,就是先遍历他的头节点,再遍历他的左子树,之后再是右子树。所以显示遍历结点A,之后遍历他的左子树B,再通过B,遍历他的左子树D,再遍历D的左子树此时发现D的左子树为空,此时再返回B去遍历他的右子树E,再通过E遍历他的左子树G,在遍历G的左子树,此时G的左子树为空,返回E再遍历E的右子树,也为空,此时A的左子树就遍历完了,返回到...原创 2020-04-19 13:43:35 · 1788 阅读 · 1 评论 -
汉诺塔问题和青蛙跳台阶问题的递归解决
1.汉诺塔问题汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,任何时候,在小圆盘上都不能放大圆盘,且在三根柱子之间一次只能移动一个圆盘。问应该如何操作?这个问题呢,想必大家...原创 2020-03-14 20:53:24 · 337 阅读 · 0 评论