剑指offer
wmtmw
之前的博客:https://wmtmw.github.io/
展开
-
剑指面试题7.重建二叉树(java)
题目具体代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public TreeNode buildTree(int[] preorder, int[] ino原创 2020-05-28 22:19:07 · 85 阅读 · 0 评论 -
剑指面试题12.矩阵中的路径(java):深度优先遍历
题目具体代码class Solution { public boolean exist(char[][] board, String word) { char[] ch = word.toCharArray(); for(int i = 0;i < board.length;i++){ for(int j = 0;j < board[0].length;j++){ if(dfs(board,i,原创 2020-05-28 20:59:25 · 177 阅读 · 0 评论 -
leetcode236.二叉树的最近公共祖先(java):递归
题目示例思路有三种情况:1.p,q在root的左右子树中,比如示例1;2.rootp,q在p的左子树或右子树中,如示例2;3.rootq,p在q的左子树或右子树中。递归:终止条件:遍历到叶节点,仍未匹配p,q,返回nullrootp或rootq,返回root;递归左子节点,返回值记为left递归右子节点,返回值记为right若left和right都为null,则返回null若left==null&&right !=null,则有两种情况p,q均位原创 2020-05-10 22:03:17 · 271 阅读 · 0 评论 -
剑指面试题52.两个链表的第一个公共节点(java)
题目具体代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode getInters原创 2020-05-28 17:25:49 · 104 阅读 · 0 评论 -
leetcode42.连续子数组的最大和
题目具体代码class Solution { public int maxSubArray(int[] nums) { int max = nums[0]; int sum = 0; for(int i = 0;i < nums.length;i++){ sum += nums[i]; max = Math.max(sum,max); if(sum < 0){原创 2020-05-28 16:22:53 · 146 阅读 · 0 评论 -
剑指面试题38.字符串的排列(java)
题目这个和leetcode47题类似,但每次做都很吃力,之后再回来补思路了……具体代码import java.util.*;class Solution { public String[] permutation(String s) { if(s == null || s.length() == 0){ return new String[]{}; } List<String> list = new Arr原创 2020-05-28 16:01:05 · 90 阅读 · 0 评论 -
剑指面试题36.二叉搜索树与双向链表
题目具体代码/*// Definition for a Node.class Node { public int val; public Node left; public Node right; public Node() {} public Node(int _val) { val = _val; } public Node(int _val,Node _left,Node _right) { val原创 2020-05-28 11:31:41 · 86 阅读 · 0 评论 -
剑指面试题35.复杂链表的复制(java)
题目具体代码/*// Definition for a Node.class Node { int val; Node next; Node random; public Node(int val) { this.val = val; this.next = null; this.random = null; }}*/class Solution { public Node copyRandom原创 2020-05-28 11:10:13 · 78 阅读 · 0 评论 -
剑指面试题34.二叉树中和为某一值的路径
题目具体代码import java.util.*;/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public List<List<Integer&原创 2020-05-28 10:39:14 · 105 阅读 · 0 评论 -
剑指面试题51:数组中的逆序对(java)
题目思路求逆序对的题使用归并排序以示例为例进行分析将数组不断二分,直到分成7,5,6,4.一个只含有7的数组,包含逆序对数为0;剩余5,6,4同理合并(7)和(5),这里需要使用一个辅助数组helper,指针p指向helper尾部,假设7比5大,则包含逆序对数为1,先将7放入helper尾部,指针迁移,将5放入helper中(或者头部,根据自己定义,如果放入尾部,则排序好的数组是升...原创 2020-04-24 21:19:57 · 116 阅读 · 0 评论