上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页

2020年1月4日

包含min函数的栈(剑指offer_30)

摘要: 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的 min 函数。 Stack.peek() peek()函数返回栈顶的元素,但不弹出该栈顶元素。 Stack.pop() pop()函数返回栈顶的元素,并且将该栈顶元素出栈。 public class Solution { priv 阅读全文

posted @ 2020-01-04 19:53 Hebye 阅读(100) 评论(0) 推荐(0)

顺时针打印矩阵(剑指offer_29)

摘要: 题目描述 下图的矩阵顺时针打印结果为: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<In 阅读全文

posted @ 2020-01-04 17:24 Hebye 阅读(195) 评论(0) 推荐(0)

二叉树的镜像(剑指offer_27)

摘要: 题目描述 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5 解题思路 public class Solution { public void Mirror(TreeNode root) { if(r 阅读全文

posted @ 2020-01-04 16:27 Hebye 阅读(101) 评论(0) 推荐(0)

树的子结构(剑指offer_26)

摘要: 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) 解题思路 public class Solution { public boolean HasSubtree(TreeNode root1,TreeNode root2) { if(root1 == 阅读全文

posted @ 2020-01-04 16:03 Hebye 阅读(168) 评论(0) 推荐(0)

2019年12月31日

合并两个排序的链表(剑指offer_25)

摘要: 题目描述 解题思路 递归 public ListNode Merge(ListNode list1, ListNode list2) { if (list1 == null) return list2; if (list2 == null) return list1; if (list1.val < 阅读全文

posted @ 2019-12-31 14:57 Hebye 阅读(180) 评论(0) 推荐(0)

反转链表(剑指offer_24)多看多思多想

摘要: 解题思路 递归 程序刚开始执行,if 语句失效,进入 else 语句,然后执行Node *newhead = reverseList(head->next);第二个结点的指针参数传入递归函数,一直到,最后一个结点的指针参数传入递归函数,if 语句有效head->next == NULL,返回当前的h 阅读全文

posted @ 2019-12-31 13:45 Hebye 阅读(122) 评论(0) 推荐(0)

链表中环的入口结点(剑指offer_23)

摘要: 题目描述 一个链表中包含环,请找出该链表的环的入口结点。要求不能使用额外的空间。 解题思路 使用双指针,一个快指针fast每次移动两个节点,一个慢指针slow每次移动一个节点。因为存在环,所以两个指针必定相遇在环中的某个节点上。 假设环入口节点为y1,相遇所在节点为z1。 假设快指针fast在圈内绕 阅读全文

posted @ 2019-12-31 12:27 Hebye 阅读(162) 评论(0) 推荐(0)

2019年12月30日

链表中倒数第k个节点

摘要: 解题思路 设链表的长度为N。设置两个指针P1和P2,先让P1移动K个节点,则还有N-K个节点可以移动。此时让P1和P2同时移动,可以知道当P1移动到链表结尾时,P2移动到第N-K个节点处,该位置就是倒数第K个节点。 public ListNode FindKthToTail(ListNode hea 阅读全文

posted @ 2019-12-30 16:13 Hebye 阅读(143) 评论(0) 推荐(0)

调整数组顺序使奇数位于偶数前面(剑指offer_21)

摘要: 题目描述 需要保证奇数和奇数,偶数和偶数之间的相对位置不变,这和书本不太一样。 解题思路 方法一:创建一个新数组,时间复杂度 O(N),空间复杂度 O(N)。 public void reOrderArray(int[] nums) { //奇数个数 int oddCnt = 0; for(int 阅读全文

posted @ 2019-12-30 15:07 Hebye 阅读(279) 评论(0) 推荐(0)

表示数值的字符串(剑指offer_20)

摘要: 题目描述 true "+100" "5e2" "-123" "3.1416" "-1E-16" false "12e" "1a3.14" "1.2.3" "+-5" "12e+4.3" 解题思路 [] : 字符集合 () : 分组 ? : 重复 0 ~ 1 次 + : 重复 1 ~ n 次 * : 阅读全文

posted @ 2019-12-30 13:12 Hebye 阅读(304) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 19 下一页

导航