
算法
CodingStar_
这个作者很懒,什么都没留下…
展开
-
输入一棵二叉树,求该树的深度
解题思路:通过递归,分别求出树的左子树与右子树的深度,然后比较获得最大的深度并返回之即可。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val;原创 2018-01-02 16:13:46 · 1410 阅读 · 0 评论 -
输入一个整数数组,实现一个函数来调整该数组中数字的顺序
题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 解题思路: 1. 先统计出奇数的个数 2. 便利原始数组,如果是奇数,就依次放置在数组arrayTemp [0,oddNum) 中,如果是偶数就放在数组arrayTemp [oddNum,arra原创 2018-01-08 22:36:29 · 4104 阅读 · 0 评论 -
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 /** * 原始方法:时间复杂度为O(exponent) * * @param base * @param exponent * @return */ public static double原创 2018-01-08 21:25:38 · 270 阅读 · 0 评论 -
变态跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解决思路f(1) = 1f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次数。f(3) = f(3-1) + f(3-2) + f(3-3) ... f(n) = f(n-1) + f(n-2原创 2018-01-05 22:20:10 · 141 阅读 · 0 评论 -
输入一个整数n,请你输出斐波那契数列的第n项
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n解决方法public class Solution { public int Fibonacci(int n) { // 索引位置 : 1 2 3 4 5 6 7 // 数列形式 : 0 1 1 2 3 5 8 13 if(n == 1){原创 2018-01-05 21:59:59 · 6078 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数。
题目:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。class Solution {public: int NumberOf1(int n) { int count = 0; while(n){ count ++; n = n & (n - 1); }原创 2018-01-04 16:16:45 · 6870 阅读 · 0 评论 -
用两个栈来实现一个队列
题目 : 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); pub原创 2018-01-04 15:37:45 · 154 阅读 · 0 评论 -
输入一个链表,从尾到头打印链表每个节点的值。
题目:输入一个链表,从尾到头打印链表每个节点的值。 解题思路:通过递归的方法很容易求解。/*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) :* val(x), next(NULL) {* }*原创 2018-01-03 16:15:58 · 317 阅读 · 0 评论 -
替换字符串中的空格
题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路:字符串中空格替换有两种方式,一种是遍历一遍,将源字符串直接复制到新字符串,遇到空格替换之即可,这种方法会增加空间复杂度。另一种方法是,先统计源字符串中空格数,获得替换后字符串的长度,再从后向前进行替换。class So原创 2018-01-03 09:38:00 · 284 阅读 · 0 评论 -
输入一棵二叉树,判断该二叉树是否是平衡二叉树。
题目:输入一棵二叉树,判断该二叉树是否是平衡二叉树。 解题思路:通过递归逐层检查二叉树的子树是否为平衡二叉树。class Solution {public: bool IsBalanced_Solution(TreeNode* pRoot) { int depth = 0; return IsBalanced(pRoot,depth);原创 2018-01-02 17:19:01 · 728 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点。
题目描述:输入一个链表,输出该链表中倒数第k个结点。 解题思路: 1. 先遍历链表,获得链表中的总结点数。 2. 倒数第k个元素,即为顺数第 size - k + 1 个元素。 3. 遍历链表,获得第 size - k + 1的元素。/*public class ListNode { int val; ListNode next = null; Li原创 2018-01-08 22:54:48 · 395 阅读 · 0 评论