
算法学习
文章平均质量分 84
Princess_Ann
这个作者很懒,什么都没留下…
展开
-
Java创建二叉树及其遍历的递归和非递归实现
紧接上一篇,网上搜索了Java实现二叉树的方法及二叉树的遍历方法,参考:http://blog.youkuaiyun.com/skylinesky/article/details/6611442 学习和调试后代码如下: 测试数据(#表示节点为空): 所建立二叉树如下: 代码如下: // 树的节点public class TreeNod转载 2015-06-16 16:12:57 · 3812 阅读 · 0 评论 -
PAT编程:从A+B>C到int和long的区别
牛客网AC地址:http://www.nowcoder.com/pat/6/problem/4077题目描述给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。输入描述:输入第1行给出正整数T(输出描述:对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测原创 2015-07-26 20:34:28 · 1538 阅读 · 0 评论 -
顺时针打印矩阵
牛客网AC地址:http://www.nowcoder.com/books/coding-interviews/9b4c81a02cd34f76be2659fa0d54342a?rp=1 《剑指offer》面试题20:顺时针打印矩阵 题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。例如:如果输入如下矩阵: 1 2 3原创 2015-07-01 11:03:55 · 3504 阅读 · 0 评论 -
链表中倒数第k个结点
牛客网AC地址:http://www.nowcoder.com/books/coding-interviews/529d3ae5a407492994ad2a246518148a?rp=1 《剑指offer》面试题15:链表中倒数第k个结点 题目:输入一个链表,输出该链表中倒数第k个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第一个结点。如一个链表有6原创 2015-06-30 10:48:31 · 621 阅读 · 0 评论 -
从尾到头打印链表
紧接着又练习了一个链表的操作——从尾到头打印链表。 牛客网AC地址:http://www.nowcoder.com/books/coding-interviews/d0267f7f55b3412ba93bd35cfa8e8035?rp=1 《剑指offer》面试题5:从尾到头打印链表 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。 链表的节点原创 2015-06-29 20:35:41 · 3367 阅读 · 0 评论 -
合并两个排序的链表及简单链表的一些操作(添加节点、删除节点)
日刷一题,昨天半夜睡不着了,想起了弄弄这道题目。 来自《剑指offer》面试题17:合并两个排序的链表 题目:输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是按照递增排序的。如下图所示: 思路分析: 首先,从两个链表的头结点进行分析,如果链表1的头结点的值小于链表2的头结点的值,则链表1的头结点是合并后的链表的头结点。 然原创 2015-06-28 17:18:00 · 594 阅读 · 0 评论 -
反转链表
牛客网AC地址:http://www.nowcoder.com/books/coding-interviews/75e878df47f24fdc9dc3e400ec6058ca?rp=1 题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。 链表的节点定义如下:public class ListNode { int val; List原创 2015-06-28 21:03:31 · 1473 阅读 · 0 评论 -
树的子结构
来自《剑指offer》的面试题18。 题目:输入两棵二叉树A和B,判断B是不是A的子结构。二叉树节点定义如下:public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.原创 2015-06-27 10:22:14 · 740 阅读 · 0 评论 -
替换空格
来自《剑指offer》面试题4:替换空格。 牛客网AC地址:http://www.nowcoder.com/books/coding-interviews/4060ac7e3e404ad1a894ef3e17650423?rp=1 题目:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20原创 2015-06-27 11:27:02 · 2682 阅读 · 0 评论 -
反转二叉树(二叉树的镜像)
输入一个二叉树,输出其镜像。 如下图,即交换所有节点的左右子树。 这里提供两种思路:使用递归和不使用递归。 使用的二叉树定义如下:public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public Tr原创 2015-06-15 22:05:37 · 14238 阅读 · 0 评论 -
实现二叉排序树
二叉排序数又称二叉查找树。它或者是一棵空树,或者是具有下列性质的二叉树:(1)如果左子树不空,那么左子树上所有结点的值均小于它的根结点的值;(2)如果右子树不空,那么右子树所有结点的值均大于它的根结点的值;(3)左、右子树也分别为二叉排序树。 树的结点定义如下:public class TreeNode { public int data; public TreeNode lef原创 2015-08-15 11:03:23 · 1086 阅读 · 0 评论