剑指Offer
ohh`
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 14- I. 剪绳子(Java)(动态规划)
题目链接:剑指 Offer 14- I. 剪绳子题目描述:动态规划,绳子只能分2或者分3才是最优解,最好分若干个3加一个2或者全是3,因为如果分4就跟两个2和1,3一样,所以没必要考虑吧。class Solution { public int cuttingRope(int n) { if(n==0||n==1||n==2)return 1; if(n==3)return 2; int[] dp=new int[n+1]; dp原创 2021-03-31 12:49:14 · 248 阅读 · 0 评论 -
面试题34. 二叉树中和为某一值的路径(Java)(递归)
题目链接:面试题34. 二叉树中和为某一值的路径题目描述:这个题首先看就是一个普普通通的深搜,遍历一遍就出答案了,然后我踩了两个坑(因为没好好审题)说一下起初以为起点随便从哪里开始都可以,于是先存了一下所有节点没注意终点必须是叶节点(叶节点的定义是下面没有其他节点的节点),最坑的样例就是[1,2] 1返回null,[1] 1 返回[[1]].然后就是非常简单的题了:/** * Definition for a binary tree node. * public class TreeNo原创 2021-03-29 14:52:49 · 277 阅读 · 1 评论 -
剑指 Offer 32 - III. 从上到下打印二叉树 III(Java)(层序遍历,双向遍历)
题目链接:剑指 Offer 32 - III. 从上到下打印二叉树 III题目描述:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<原创 2021-03-29 14:45:46 · 280 阅读 · 0 评论 -
剑指 Offer 32 - II. 从上到下打印二叉树 II(Java)(层序遍历)
题目链接:剑指 Offer 32 - II. 从上到下打印二叉树 II题目描述:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<Li原创 2021-03-29 14:41:18 · 182 阅读 · 0 评论 -
剑指 Offer 32 - I. 从上到下打印二叉树(Java)(层序遍历)
题目链接:剑指 Offer 32 - I. 从上到下打印二叉树题目描述:最简单的层序遍历,迭代一下就OK了/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { publ原创 2021-03-29 14:34:22 · 106 阅读 · 0 评论 -
剑指 Offer 28. 对称的二叉树(Java)(递归)
题目链接:剑指 Offer 28. 对称的二叉树题目描述:从根节点出发,同时向左右跑,如果遇见不一样的就返回false,反之返回true class Solution { public boolean isSymmetric(TreeNode root) { return dfs(root,root); } public boolean dfs(TreeNode l,TreeNode r){ //如果都是空开始回溯 if(l==nul原创 2021-03-24 23:03:52 · 196 阅读 · 0 评论 -
剑指 Offer 27. 二叉树的镜像(Java)(递归)
题目链接:剑指 Offer 27. 二叉树的镜像题目描述:后序遍历,找到最下面,边回溯边交换子节点,可以避免从上向下交换造成的bugclass Solution { public TreeNode mirrorTree(TreeNode root) { if(root==null)return null; //找到最下面 mirrorTree(root.left); mirrorTree(root.right);原创 2021-03-24 22:56:27 · 105 阅读 · 0 评论 -
剑指 Offer 26. 树的子结构(Java)(递归)
题目链接:剑指 Offer 26. 树的子结构题目描述:先找出A树所有和B树根节点相同的节点存入集合,遍历集合元素做起始点,遍历B树,如果都结构和B树相同则返回true/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } *原创 2021-03-24 22:51:02 · 207 阅读 · 0 评论