
剑指offer
文章平均质量分 86
qishun2xiao
之前一直没有发什么博客,总感觉少了点什么,现在把以前学习的一些干货拿出来晒一晒(一直用的映像笔记,感觉非常不错,这些也是之前自己保存的,有些是网上参考的,大部分是自己的一些总结、感悟)~~~~~
展开
-
顺时针打印矩阵 -- 漫漫算法路 刷题篇
题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 解题思路:其实就是做四次的循环打印 不过得判断每次循环是否会重复打印(第三、四次容易重复打印)import java.uti原创 2017-09-06 15:38:17 · 285 阅读 · 0 评论 -
字符串大小写分开打印 -- 漫漫算法路 刷题篇
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2017-09-01 10:21:54 · 281 阅读 · 0 评论 -
二维数组中的查找、空格替换、从尾到头打印链表 --漫漫算法路 刷题篇
二维数组中的查找、空格替换、从尾到头打印链表原创 2017-08-24 14:27:32 · 382 阅读 · 0 评论 -
重建二叉树 -- 漫漫算法路 刷题篇
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 说实话 看到这个题目的时候,心里还是有点底气的 毕竟之前也做过好多类似的题目(选择题) 但是在构思代码的时候,发现自己有想法却写不出,可原创 2017-08-24 17:14:32 · 284 阅读 · 0 评论 -
用两个栈实现队列、旋转数组的最小数、斐波那契数列、青蛙跳台阶、矩形覆盖 --漫漫算法路 刷题篇
用两个栈实现队列、旋转数组的最小数、斐波那契数列、青蛙跳台阶原创 2017-08-25 08:24:41 · 454 阅读 · 0 评论 -
二进制中1的个数、数值的整数次方,数组调整奇数在前偶数在后顺序不变 -- 漫漫算法路 刷题篇
1、 二进制中1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 看到题目的时候 没有在意后半句的意思 于是直接就按照政治书的思维直接做了 做完之后一运行 通过~~~~ package com.test; import java.util.Scanner; public class Main{ private static i原创 2017-08-26 15:20:06 · 340 阅读 · 0 评论 -
反转链表后输出、合并两个排序链表、树的子结构 -- 漫漫算法路 刷题篇
1、反转链表后输出 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre = null; ListNode next = null; while(head!=null){原创 2017-08-26 19:20:27 · 267 阅读 · 0 评论 -
二叉树的镜像 -- 漫漫算法路 刷题篇
1、二叉树的镜像 题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \原创 2017-08-29 19:23:51 · 285 阅读 · 0 评论 -
判断两字符串是否互为旋转 -- 漫漫算法路 刷题篇
如果对于一个字符串A,将A的前面任意一部分挪到后边去形成的字符串称为A的旋转词。比如A=”12345”,A的旋转词有”12345”,”23451”,”34512”,”45123”和”51234”。对于两个字符串A和B,请判断A和B是否互为旋转词。 给定两个字符串A和B及他们的长度lena,lenb,请返回一个bool值,代表他们是否互为旋转词。 测试样例: “cdab”,4,”abcd”,4原创 2017-09-07 17:52:04 · 378 阅读 · 0 评论 -
按层遍历打印二叉树(分层) -- 漫漫算法路 刷题篇
有一棵二叉树,请设计一个算法,按照层次打印这棵二叉树。 给定二叉树的根结点root,请返回打印结果,结果按照每一层一个数组进行储存,所有数组的顺序按照层数从上往下,且每一层的数组内元素按照从左往右排列。保证结点数小于等于500。import java.util.*;/* public class TreeNode { int val = 0; TreeNode left = nul原创 2017-09-07 17:33:46 · 699 阅读 · 0 评论 -
按层遍历二叉树(不分层) -- 漫漫算法路 刷题篇
题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路:按层遍历 借助辅助队列就行了import java.util.ArrayList; import java.util.Deque; import java.util.List; /** public class TreeNode { int val = 0; TreeNode left = null;原创 2017-09-07 09:49:24 · 284 阅读 · 0 评论 -
二叉树后序遍历数组 -- 漫漫算法路 刷题篇
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。public class Solution { public boolean VerifySquenceOfBST(int [] sequence) { int len = sequence.length,j=0,k=0;原创 2017-09-07 14:34:37 · 408 阅读 · 0 评论 -
栈的压入、弹出序列 -- 漫漫算法路 刷题篇
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 解题思路:利用一个辅助栈来判断,首先循环压入压入序列 在压入的过程中 循环判断栈顶是原创 2017-09-07 09:18:17 · 217 阅读 · 0 评论 -
包含min函数的栈 -- 漫漫算法路 刷题篇
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。import java.util.Stack; import java.util.Iterator; public class Solution { Stack<Integer> stack = new Stack<Integer>(); public void push(int node) {原创 2017-09-06 16:00:04 · 238 阅读 · 0 评论 -
二叉树中和为某一值的路径 -- 漫漫算法路 刷题篇
题目描述 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。import java.util.ArrayList; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null;原创 2017-09-21 16:19:45 · 201 阅读 · 0 评论