zoukankan      html  css  js  c++  java
  • 二叉树中相差最大的两个节点间的差值绝对值(实际是用的遍历)

    private static class BinaryNode{
    		int data ;
    		BinaryNode left ;
    		BinaryNode right ;
    	}
    	/**
    	 * 写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,
    	 * 函数返回这颗二叉树中相差最大的两个节点间的差值绝对值。
    	 * @param root
    	 * @return
    	 */
    	int findMaxDiff(BinaryNode root ){
    		int max = root.data ;
    		int min = root.data ;
    		Stack<BinaryNode> s = null ;
    		BinaryNode p = root ;
    		
    		while (p!=null|| !s.empty()){
    			while(p!=null){
    				s.push(p);
    				p = p.left ;
    			}
    			if (!s.empty()){
    				p=s.peek() ;
    				if (p.data>max){
    					max = p.data ;
    				}
    				if (p.data<min){
    					min = p.data ;
    				}
    				s.pop() ;
    				p = p.right ;
    			}
    		}
    		return max- min ;
    	}
    

      

  • 相关阅读:
    BugReport-仿微信app
    成长、责任、和公司的关系
    团队如何做决定
    课堂练习
    课堂练习
    NABCD model
    课堂练习
    日程管理测试用例
    测试
    Bug报告
  • 原文地址:https://www.cnblogs.com/chuiyuan/p/4748234.html
Copyright © 2011-2022 走看看