
数据结构与算法
猿兄
猿兄,与你一起学习,一起成长~
展开
-
《剑指offer》—— 27. 字符串的排列(Java)
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述:输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。import java.util.ArrayList;public class Solution { public ArrayList<String> Permutation(String str) {原创 2020-07-02 21:27:10 · 208 阅读 · 0 评论 -
《剑指offer》—— 26. 二叉搜索树与双向链表(Java)
题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution {原创 2020-06-30 23:24:23 · 184 阅读 · 0 评论 -
《剑指offer》—— 19. 顺时针打印矩阵(Java)
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 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.util.ArrayList;public class Solution { public ArrayList<Integer> printMatrix(int [][] matrix原创 2020-06-30 22:34:01 · 169 阅读 · 0 评论 -
《剑指offer》—— 20. 包含min函数的栈(Java)
题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。import java.util.Stack;public class Solution { public void push(int node) { } public void pop() { } public int top() { }原创 2020-06-30 22:05:58 · 159 阅读 · 0 评论