随笔分类 -  剑指offer

摘要:深度优先 class Solution { public boolean exist(char[][] board, String word) { char[] words = word.toCharArray(); int m = words.length; boolean[][] visit = 阅读全文
posted @ 2020-07-29 14:52 浅滩浅 阅读(98) 评论(0) 推荐(0)
摘要:深度优先搜索:将问题划分为,邻近的四个方向格子所能到达的格子数+1,由于又是从0,0开始的所以只用右、下两个方向的邻近格子就行了。 class Solution { boolean[][] visited; public int movingCount(int m, int n, int k) { 阅读全文
posted @ 2020-07-29 13:36 浅滩浅 阅读(119) 评论(0) 推荐(0)
摘要:class Solution { //全排列问题 Set<List<Character>> res = new HashSet<>(); public String[] permutation(String s) { char []strs = s.toCharArray(); int len = 阅读全文
posted @ 2020-07-26 19:29 浅滩浅 阅读(90) 评论(0) 推荐(0)
摘要:排序: class Solution { public boolean isStraight(int[] nums) { Arrays.sort(nums); int zero = 0; int needZero = 0; if(nums[0] == 0) zero++; for(int i=1;i 阅读全文
posted @ 2020-07-25 16:13 浅滩浅 阅读(231) 评论(0) 推荐(0)
摘要:题解:利用String数组自定义排序(字符拼接进行比较),之前还想着全排序。。。。。。。。。 class Solution { public String minNumber(int[] nums) { String []arr = new String[nums.length]; for(int 阅读全文
posted @ 2020-07-24 19:07 浅滩浅 阅读(78) 评论(0) 推荐(0)
摘要:class Solution { public int lastRemaining(int n, int m) { //模拟法超时 int pos = 0;//长度为1时候安全的下标 //反推的过程 //从i-1个人到i人的安全序号的变化 //正过程: //1、下标为j+1的成为数组头,j前面的人加 阅读全文
posted @ 2020-07-24 18:17 浅滩浅 阅读(105) 评论(0) 推荐(0)
摘要:思路:用一个栈进行模拟,当栈不为空且栈顶元素与出栈数组的元素相等时,元素出栈,出栈元素后移,继续与栈顶元素对比,如此反复 class Solution { public boolean validateStackSequences(int[] pushed, int[] popped) { Stac 阅读全文
posted @ 2020-07-23 21:51 浅滩浅 阅读(108) 评论(0) 推荐(0)
摘要:解题:前序遍历加上筛选 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = 阅读全文
posted @ 2020-07-23 20:23 浅滩浅 阅读(132) 评论(0) 推荐(0)
摘要:平衡树:对于每一个节点它的左右子树深度差不能超过1 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode( 阅读全文
posted @ 2020-07-23 19:12 浅滩浅 阅读(106) 评论(0) 推荐(0)
摘要:二叉搜索树:左子树的值小于右子树的值(不会出现重复的情况) /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN 阅读全文
posted @ 2020-07-23 18:23 浅滩浅 阅读(107) 评论(0) 推荐(0)
摘要:思路:后序遍历 分情况讨论: 1、两个节点在根的左侧 2、两个节点在根的右侧 3、两个节点在根的左右两侧 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * 阅读全文
posted @ 2020-07-23 17:52 浅滩浅 阅读(123) 评论(0) 推荐(0)
摘要:1、递归后序遍历 class Solution { public int maxDepth(TreeNode root) { if(root == null) return 0; return Math.max(maxDepth(root.left), maxDepth(root.right)) + 阅读全文
posted @ 2020-07-19 10:38 浅滩浅 阅读(123) 评论(0) 推荐(0)
摘要:题解:层次遍历的基础上加个计数器,偶数层得到的结果反转一下 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeN 阅读全文
posted @ 2020-07-18 18:42 浅滩浅 阅读(78) 评论(0) 推荐(0)
摘要:还是层次遍历返回值类型不同罢了 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { v 阅读全文
posted @ 2020-07-18 18:29 浅滩浅 阅读(74) 评论(0) 推荐(0)
摘要:解题:利用队列先进先出来实现层次遍历 因为需要按层次遍历节点,所以我们可以使用队列先进先出的特点来存储每层节点的值 每取出一个节点就将该节点的左右节点存入队列当中 /** * Definition for a binary tree node. * public class TreeNode { * 阅读全文
posted @ 2020-07-18 16:54 浅滩浅 阅读(96) 评论(0) 推荐(0)
摘要:思路: 镜像前序遍历和本体前序遍历是否相同 /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int 阅读全文
posted @ 2020-07-18 16:06 浅滩浅 阅读(91) 评论(0) 推荐(0)
摘要:/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ 阅读全文
posted @ 2020-07-18 14:52 浅滩浅 阅读(70) 评论(0) 推荐(0)
摘要:##题解:hashset(没有达到进阶的要求) /** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next 阅读全文
posted @ 2020-07-18 09:31 浅滩浅 阅读(188) 评论(0) 推荐(0)
摘要:class Solution { public int lengthOfLongestSubstring(String s) { if(s.length()==0) return 0; //双指针(r指针最先向右移动,遇到重复的l指针向右移动直到越过重复的r指针继续向右移动) int l=0,r=0 阅读全文
posted @ 2020-07-18 07:44 浅滩浅 阅读(277) 评论(0) 推荐(0)
摘要:二分找左右边界 class Solution { public int search(int[] nums, int target) { int start=findLeft(nums,target),end=findRight(nums,target); if(start 1||end 1) re 阅读全文
posted @ 2020-07-17 11:08 浅滩浅 阅读(304) 评论(0) 推荐(0)