
算法
sunzz679
这个作者很懒,什么都没留下…
展开
-
求从根节点到叶子节点的所有路径组成的数的和
问题:给定一颗二叉树,节点的值只能为0~9中的一个,每一个从根节点到叶子节点的路径代表一个数,比如,有一个从根节点到叶子节点的路径是 1->2->3,则这个路径代表数字是123。求出从根节点到所有叶子节点的路径所代表数字的和是多少。再比如,有如下二叉树: 1 / \ 2 3问题的答案=12 + 13 = 25二叉树的结构如下:方法一:使用递归原创 2015-03-26 00:01:58 · 5689 阅读 · 0 评论 -
判断一颗二叉树是否为平衡二叉树
问题:给定一颗二叉树,判定其是否为平衡二叉树。二叉树的结构为://Definition for binary treepublic class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}方法一:首先可以求出每一个节点的高度(采用递原创 2015-03-16 21:05:54 · 570 阅读 · 0 评论 -
判断一棵树是否是二叉搜索树
问题:给定一个二叉树,判断其是否是二叉搜索树(二叉搜索树的定义可以很容易的搜索到)二叉树的结构如下://Definition for binary treepublic class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}对于一颗原创 2015-03-20 17:53:11 · 3246 阅读 · 0 评论 -
判断一个二叉树是否为对称二叉树
问题:给定一颗二叉树,判定其是否为对称二叉树(也就是说树是否依中轴线对称)。比如,下面这课二叉树是对称的: 1 / \ 2 2 / \ / \3 4 4 3而下面这颗树是不对称的: 1 / \ 2 2 \ \ 3 3二叉树的结构为:方法一:递归策略:核心思想是给定任意两个对称的节点,分原创 2015-03-17 18:06:08 · 1085 阅读 · 0 评论 -
判断一个链表中是否含有环
题目要求:判断一个链表(linked list)中是否含有环路方法一:floyd算法。形象成为龟兔赛跑算法。维持两个指针rabbit和turtle,turtle一次前进一步,rabbit一次前进两步,如果两个指针能够相遇,则说明含有环路方法二:Brent算法。是基于floyd算法思想的改进。仍然维持两个指针,turtle原地不动,rabbit一次前进一步,同时维护两个变量,step原创 2015-03-10 17:22:46 · 658 阅读 · 0 评论 -
将已排好序的数组转换成高度平衡的二叉搜索树(BST)
题目要求:给定一个数组,元素已经按照升序排列,将其转换成高度平衡的二叉搜索树(BST)/** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x;原创 2015-03-09 21:24:32 · 1237 阅读 · 0 评论 -
求出所有不同的二叉搜索树(BST)
问题:给定一个数n,生成n个节点,节点值分别为1,2,...,n,要求生成这n个节点的所有结构不同的二叉搜索树。比如,给定一个数n=3,你的程序应该生成5个不同的BST,如下所示: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3原创 2015-03-24 17:01:22 · 709 阅读 · 0 评论 -
斐波那契数列及其变体走楼梯问题
对于斐波那契数列大家都很熟悉,其形式是 。递归写法是public int fibonacci(int n){ if(n==1 || n==2) return 1; return fibonacci(n-1)+fibonacci(n-2);}递归写法虽然容易理解,但是它会进行很多的重复计算,效率不高。下面是非递归写法public int fibonacci(int n){原创 2015-04-12 22:26:10 · 1432 阅读 · 0 评论 -
java中将由数字组成的字符串型(String)转换成整型(int)
有一个字符串str,是由0-9十个数字组成的,现在需要读取str的某一位字符,将其转换成整数型。方法一:在java语法中,有一个函数Integer.parseInt(str),可以将字符串str转换为整数型。比如,要读取str中第i位的整数,可以这样:int ii = Integer.parseInt(str.charAt(i));方法二:利用ASCII辅助计算。字符 char ch1原创 2015-08-19 19:26:13 · 8753 阅读 · 2 评论