摘要: 思路:递归思想 阅读全文
posted @ 2018-03-16 10:53 薄凉古风 阅读(255) 评论(0) 推荐(0) 编辑
摘要: /*二叉搜索树 根节点大于左节点 小于右节点 思路:递归思想 后续遍历的最后一个节点 一定是根节点 从数组开始找到第一个大于根节点的数组元素 从开始到该元素前一个点都为左子树 从该元素 到数组倒数第二个元素 为右子树 如果右子树节点值 小于根节点 返回 false 最后分别在左右子树递归 直到数组中只有一个元素 返回true */ public c... 阅读全文
posted @ 2018-03-14 21:31 薄凉古风 阅读(1559) 评论(0) 推荐(0) 编辑
摘要: //概念问题 二叉搜索树 要么为空 如果左节点不为空 那么根节点的值大于左节点 如果右节点不为空 那么右节点的值大根节点的值//对二叉排序树的中序遍历 是一个递增的序列 阅读全文
posted @ 2018-03-13 17:05 薄凉古风 阅读(1800) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 public class TreeNode { 3 int val = 0; 4 TreeNode left = null; 5 TreeNode right = null; 6 7 public TreeNode(int val) { 8 this.val = val; 9 10 } 11 12 } ... 阅读全文
posted @ 2018-03-13 14:10 薄凉古风 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 这里需要使用两个变量:now 当前层没有打印的节点个数 next 下一层的节点个数 每当当前层打印完毕 就把下一的节点个数(next)赋值给now 阅读全文
posted @ 2018-03-12 21:42 薄凉古风 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 1 /* 2 思路:借助栈来实现 3 树为空时 返回空 4 树不为空 将根节点如队列 5 然后将队列首元素出队列 如果该元素有左子节点那么左子节点入队了 如果该元素有右子节点那么右子节点入队列 6 最后 进队列的顺序也就是出队列的顺序 7 */ 8 import java.util.ArrayList; 9 import java.util.*; 10 impo... 阅读全文
posted @ 2018-03-10 20:18 薄凉古风 阅读(2030) 评论(0) 推荐(1) 编辑
摘要: import java.util.ArrayList;import java.util.Stack; /*思路:使用一个备用栈 模拟进栈出栈过程按入栈序列 遍历入栈 如果栈顶元素和出栈序列遍历元素相同 将栈顶元素出栈 出栈序列的遍历指针后移 直到栈顶元素和出栈序列遍历元素不相同元素遍历完成 最后 如 阅读全文
posted @ 2018-03-10 16:40 薄凉古风 阅读(625) 评论(0) 推荐(0) 编辑
摘要: public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { boolean flag=false; if(root1!=null&&root2!=null){ if(root1.val==roo 阅读全文
posted @ 2018-03-09 15:29 薄凉古风 阅读(137) 评论(0) 推荐(0) 编辑
摘要: public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { if(list1==null)return list2; if(list2==null)return list1; ListNode merg 阅读全文
posted @ 2018-03-09 13:37 薄凉古风 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 反转链表 核心是反转next指针 以下是非递归实现 /*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/import java.util.*;public c 阅读全文
posted @ 2018-03-09 11:00 薄凉古风 阅读(245) 评论(0) 推荐(0) 编辑