摘要: 题目描述 一、解题思路 这里有两种解题思路 1. 位运算法 位运算如果你不了解的话,可以看下第二种解题思路。但是整体代码有点冗余,而且效率也不高。 ^的运算规则二进制位中各个位上数就是相同为0,不同为1。 &的运算规则是都为1时结果为1,反之全为0。 |的运算规则是只要有1结果为1,反之为0。 >> 阅读全文
posted @ 2021-01-16 23:51 UZI永远地神 阅读(54) 评论(0) 推荐(0)
摘要: (文章目录) 题目详情 题目详情链接 一、解题思路 将原树进行中序遍历将树中的节点的非空值放入到一个list集合中,创建一棵新树然后通过递归的方式将不断生成的新的右子树直到集合遍历完。 二、使用步骤 1.对原树进行中序遍历。将非空树的值一次放入到List集合中。 2.创建一个函数用于对集合进行遍历, 阅读全文
posted @ 2021-01-04 23:57 UZI永远地神 阅读(105) 评论(0) 推荐(0)
摘要: 合并二叉树 1. 题目 2. 解题思路 采用递归和后序遍历的方式来同时遍历两棵树。遍历的同时,一定要判断两颗树的当前节点是否为空。然后创建一个新的节点,节点值为两个节点之和。遍历完成后即可得到合并后的树。 3. 解题步骤 判断当前两颗树的节点全为空,如果为空则返回空。 反之有以下三种 可能两个节点都 阅读全文
posted @ 2020-12-17 00:32 UZI永远地神 阅读(69) 评论(0) 推荐(0)
摘要: 解题思路:采用后序遍历和递归的想法。依次遍历树的每一个节点。遍历到节点为空时,返回0; 然后判断两子树的深度取其最大值再加1。返回其深度值。 步骤 判断当前树是否为空,为空返0。 如果不为空,分别获取其左子树和右子树的长度。 获取其左右子树长度的最大值再加1。 返回其值。 代码: class Sol 阅读全文
posted @ 2020-12-14 17:23 UZI永远地神 阅读(71) 评论(0) 推荐(0)
摘要: 题目 实现思路: 通过递归的思路来实现该过程。 步骤: 判断当前树是否为空。如果为空直接返回null,反之则执行下一步。 判断当前左右子树都为空时,直接返回该树。反之执行下一步 判断当前左右子树有一个不为空时, 当右子树不为空且左子树为空时,将左子树复制到右子树上。之后让左子树为空。 当右子树为空但 阅读全文
posted @ 2020-12-14 00:28 UZI永远地神 阅读(64) 评论(0) 推荐(1)