4.6---找二叉树中序后继(CC150)
因为,没有重复值,所以只需要做一个标记就OK了。
public class Successor {
      static boolean flag = false;
    static int result = 0;
    public int findSucc(TreeNode root, int p) {
        // write code here
        inOrder(root,p);
        return result;
    }
    public static void inOrder(TreeNode root,int p){
        if(root == null) return ;
        inOrder(root.left,  p);
        if(flag){
            result = root.val;
            flag = false;
            return;
        }
        if(p == root.val){
            flag = true;
        }
        inOrder(root.right,p);
    }
}
4.6---找二叉树中序后继(CC150)的更多相关文章
- BST的中序后继
		二叉搜索树中的顺序后继:从BST中找到指定节点的下一个节点. 比如1的下一个是2,2的下一个是3,4的下一个是5. 思路: 方法1:递归执行中序遍历,获取list,得到p的下一个.时间O(N),空间O ... 
- [LeetCode] Inorder Successor in BST II 二叉搜索树中的中序后继节点之二
		Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ... 
- [LeetCode] Inorder Successor in BST 二叉搜索树中的中序后继节点
		Given a binary search tree and a node in it, find the in-order successor of that node in the BST. No ... 
- 二叉树中序遍历 (C语言实现)
		在计算机科学中,树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构.二叉树是每个节点最多有两个子树的有序树.通常子树被称作“左子树”(left subtre ... 
- 94 Binary Tree Inorder Traversal(二叉树中序遍历Medium)
		题目意思:二叉树中序遍历,结果存在vector<int>中 解题思路:迭代 迭代实现: /** * Definition for a binary tree node. * struct ... 
- [leetcode]94. Binary Tree Inorder Traversal二叉树中序遍历
		Given a binary tree, return the inorder traversal of its nodes' values. Example: Input: [1,null,2,3] ... 
- [LeetCode] 285. Inorder Successor in BST 二叉搜索树中的中序后继节点
		Given a binary search tree and a node in it, find the in-order successor of that node in the BST. Th ... 
- UVA 548.Tree-fgets()函数读入字符串+二叉树(中序+后序遍历还原二叉树)+DFS or BFS(二叉树路径最小值并且相同路径值叶子节点权值最小)
		Tree UVA - 548 题意就是多次读入两个序列,第一个是中序遍历的,第二个是后序遍历的.还原二叉树,然后从根节点走到叶子节点,找路径权值和最小的,如果有相同权值的就找叶子节点权值最小的. 最后 ... 
- 算法:comparable比较器的排序原理实现(二叉树中序排序)
		Comparable比较器排序远离实现 package test.java.api.api13; /** * 手工实现二叉树的比较算法: 第一遍感觉很神秘,但是真正自己写下来,就感觉很简单,理解就好: ... 
随机推荐
- Android学习笔记——button_activity
			工程的功能是实现在一个acticity上点击按钮,切换到另外一个activity 以下代码为MainActivity.java中的代码 package com.example.button_activ ... 
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
			通过传统的form表单提交的方式上传文件: <form id= "uploadForm" action= "http://localhost:8080/cfJAX_ ... 
- python类的高级属性
			---恢复内容开始--- 类方法:通过@classmethod装饰器实现,类方法和普通方法的区别是,类方法只能访问类变量,不能访问实例变量,代码如下: class Person(object): de ... 
- chain.doFilter(request,response)含义
			过滤器的生命周期一般都要经过下面三个阶段: 初始化 当容器第一次加载该过滤器时,init() 方法将被调用.该类在这个方法中包含了一个指向 Filter Config 对象的引用.我们的过滤器实际上并 ... 
- Lua之元表
			Lua之metatable 一.元表 Lua中的每个值都有一套预定义的操作集合,也可以通过metatable(元表)来定义一个值的行为,metatable包含了一组meatmethod(元方法). L ... 
- Ajax load html page
			jQuery ajax - load() 方法 jQuery Ajax 参考手册 实例 使用 AJAX 请求来改变 div 元素的文本: $("button").click(fun ... 
- jQ控制前端输入用户为空是的提醒
			1.在jQ中$(function(){})函数的意思是 $(document).ready(function(){}) 的简写,用来在DOM加载完成之后执行一系列预先定义好的函数 placeholde ... 
- 解决子元素margin让父辈元素位置一起改变的问题
			1.在父元素内添加内容,并且要在子元素块前面添加,后面添加内容无效. 内容可以是文字.图片甚至是空格,源代码里直接按空格无效,可以用占位符 2.让子元素或父元素浮动float:left. 缺点:在元 ... 
- Java7的异常处理新特性-addSuppressed()方法等
			开发人员对异常处理的try-catch-finally语句块都比较熟悉.如果在try语句块中抛出了异常,在控制权转移到调用栈上一层代码之前,finally语句块中的语句也会执行.但是finally语句 ... 
- Devexpress-1 DataGrid控件
			参考资料: 使用XtraGrid自定义列计算 DEV GridControl小结 实现对两列求和后作为新的列 
