剑指offer
cute。
仅记录自己学过的东西,方便复习
展开
-
剑指offer之树的子结构(树)
题目 输入两棵二叉树A和B,判断B是不是A的子结构。 思路 1)HasSubtree方法:先对A树进行遍历,找到与B树的根结点值相同的结点R; 递归调用HasSubTree遍历二叉树A,如果发现某一结点的值和树B的头结点的值相同,则调用DoesTree1HaveTree2,做第二 步判断 2)doesTree1HaveTree2方法:判断A树中以R为根结点...原创 2019-05-15 15:08:19 · 94 阅读 · 0 评论 -
剑指offer之二叉树的镜像(树)
题目 请完成一个函数,输入一个二叉树,该函数输出它的镜像。 思路 先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子节点, 当交换完所有的非叶子结点的左右子结点之后,就得到了树的镜像 Java代码 public class Solution { public void Mirror(TreeNode root) { ...原创 2019-05-15 15:16:56 · 93 阅读 · 0 评论 -
剑指offer之圆圈中最后剩下的数(约瑟夫环)
一.基本推导过程 二.特别清晰的推导过程 约瑟夫环 三.代码 public class Solution { public int LastRemaining_Solution(int n, int m) { if(n < 1 || m < 1){ return -1; } int las...原创 2019-07-16 14:38:50 · 127 阅读 · 0 评论 -
剑指offer之打印二叉树
题目一 (一)题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。 (二)思路:不分行从上往下打印二叉树:该题即为对二叉树的层序遍历,结点满足先进先出的原则,采用队列。每从队列中取出头部结点并打印,若其有子结点,把子结点放入队列尾部,直到所有结点打印完毕。 (三)代码: import java.util.ArrayList; /** public class Tr...原创 2019-07-18 21:31:00 · 193 阅读 · 2 评论