算法
越丘
这个作者很懒,什么都没留下…
展开
-
从上往下打印二叉树
题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。import java.util.*;public class Solution { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> resultList=new A...原创 2019-03-11 21:01:30 · 82 阅读 · 0 评论 -
树的子结构
题目:输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)解题思路如下:每次找到一个节点就判断一次是不是子结构,如果不是那么再依次判断这个节点的左子树和右子树public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boo...原创 2019-03-11 20:00:56 · 75 阅读 · 0 评论 -
二叉搜索树的后序遍历
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。二叉搜索树定义:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的...原创 2019-03-11 18:22:01 · 98 阅读 · 0 评论 -
重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。用的是递归,每次递归构建左右子树,然后返回根节点,用哈希表先把里面的节点存起来方便后面查找,由于Java传对象都是传的地址,所以不会耗费很多空间和时间,...原创 2019-03-11 16:45:21 · 117 阅读 · 0 评论 -
Java Z 字形变换
- 题目:Z 字形变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:L C I RE T O E S II GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,...原创 2019-03-01 10:21:45 · 1080 阅读 · 1 评论 -
动态规划算法入门基础(爬楼梯、国王与金矿)
1. 动态规划算法题目描述:每次可以爬1个或2个台阶,问爬到第 n 个台阶,一共有多少种不同的方法。动态规划中包含三个重要的概念:最优子结构、边界、状态转移公式最优子结构是状态转移方程的的一个特例,状态转移公式是可以套用的F(1)=1; //边界F(2)=2; //边界F(n)=F(n-1)+F(n-2) (n&amp;amp;amp;amp;amp;amp;amp;amp;gt;=3); //状态转移方程,里面的n就是状态F(10)...原创 2019-03-01 09:14:36 · 507 阅读 · 0 评论 -
Java最长回文子串
- 题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”- 暴力法(写的时候调试了N次,很容易就出BUG了)class Solution { public String longestPalin...原创 2019-02-28 13:32:00 · 1376 阅读 · 0 评论 -
2019.2.27Java学习记录
1. Java中经常报NullPointerException,那么Java中到底有没有指针- 原则上Java中是没有指针(pointer)的,只有引用(reference)- 但是reference是借鉴了C/C++中的指针思想- Java中的引用不能够delete,我们也不能够获取这个引用所存的内存地址,这就避免了程序员直接操纵内存里面的数据,不存在内存泄漏refence在Java里面...原创 2019-02-27 20:32:30 · 88 阅读 · 0 评论 -
Java无重复字符的最长子串
- 题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子...原创 2019-02-27 22:52:35 · 2347 阅读 · 1 评论 -
反转链表
输入一个链表,反转链表后,输出新链表的表头。用的循环,但是我估计栈和数组也是可以的/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution {publi...原创 2019-03-22 11:02:11 · 84 阅读 · 0 评论