二叉树中相差最大的两个节点间的差值绝对值(实际是用的遍历)
2015-08-21 16:22
495 查看
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 ; }
相关文章推荐
- 笔记121--图片压缩
- crontab-用法
- Android监听TextView跑马灯的状态
- 序
- android中控件的style中主题样式定义
- SQL触发器简单用法
- java性能调优
- Qt资源
- java synchronized 线程同步机制详解
- Spring properties dependency checking
- UVA 10480 Sabotage
- break 的一个“高级用法”
- 泛型
- LeetCode258:Add Digits
- ViewPager + FragmentPagerAdapter的使用
- No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
- 微信官方分享demo 成功运行并分享
- oracle not in 查不出数据
- No resource found that matches the given name 'Theme.AppCompat.Light 的完美解决方案
- poj 1837 Balance