算法
goldLsir
矢志不渝之愚者
展开
-
剑指offer总结 数组
剑指offer调整整数数组顺序题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。public class Solution {public void reOrderArray(int [] array) {for(int i=0;i<array.length...原创 2019-07-20 10:05:21 · 95 阅读 · 0 评论 -
剑指offer链表
链表中倒数第k个结点题目描述输入一个链表,输出该链表中倒数第k个结点。思想:使用双指针,第一个指针先往前走k-1部,只想第k个结点,然后两个结点同时向前移动,当第一个指针移动到末端时,第二个指针正好只想倒数第k个结点。代码如下/*public class ListNode { int val; ListNode next = null; ListNode(i...原创 2019-07-20 10:30:59 · 91 阅读 · 0 评论 -
剑指offer 树 个人总结
树的子结构题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思想:利用递归,先判断B树的根节点与A树的根节点或左右结点是否相匹配,再构造一个判断两树结点是否匹配的方法,递归调用,注意空指针的问题。/**public class TreeNode { int val = 0; TreeNode left = null; ...原创 2019-07-21 10:12:32 · 158 阅读 · 0 评论 -
剑指poffer总结 栈
包含min函数的栈题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。import java.util.Stack;public class Solution {//使用辅助栈 Stack<Integer> stack1=new Stack<>(); Stack<Integer>...原创 2019-07-22 12:37:13 · 193 阅读 · 0 评论 -
LeetCode总结
3、给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。思想:暴力法:遍历所有子字符串,找出最长的无重复字符的子字符串,复杂度为O(n^3);优化:使用滑动窗口,使用一个HashMap存储字符以及其位置索引,使用双指针i=0,j=0,往前遍历j++,入到ma...原创 2019-08-10 16:38:10 · 120 阅读 · 0 评论