
剑指 - Offer
HeatDeath
Learn by doing!
展开
-
《剑指 Offer》学习(2)—— 9_两个栈实现一个队列
用两个栈来实现一个队列,完成队列的 Push 和 Pop 操作。 队列中的元素为 int 类型。 stack1 用来入队, stack2 用来出队package com.sword_to_offer;import java.util.Stack;public class TwoStackImplQueue { Stack<Integer> stack1 = new Stack<>();原创 2017-12-24 16:20:41 · 543 阅读 · 0 评论 -
《剑指 Offer》学习(3)—— 6_从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。 思路一:使用栈package com.sword_to_offer;import java.util.ArrayList; import java.util.Stack;public class ReversePrintLinkedList { public ArrayList<Integer> printListFromTailToHead(L原创 2017-12-24 16:58:49 · 626 阅读 · 0 评论 -
《剑指 Offer》学习(1)—— 5_替换空格
题目要求: 请实现一个函数,将一个字符串中的空格替换成 “%20”。例如,当字符串为 We Are Happy. 则经过替换之后的字符串为 We%20Are%20Happy。 思路一:遍历输入的字符串,若当前字符为' ' ,则向 result_str 中 append ‘%20’,否则将当前字符 append 到 result_str 中。时间复杂度 O(n),空间复杂度 O(n)package原创 2017-12-24 14:32:03 · 508 阅读 · 0 评论 -
《剑指 Offer》学习(5)—— 二叉树的镜像
public class Solution { public void Mirror(TreeNode root) { if(root == null) return; if(root.left == null && root.right == null) return; Tre...原创 2018-03-07 22:29:49 · 307 阅读 · 0 评论 -
《剑指 Offer》学习(6)—— 二叉树的下一个节点
给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 public class Solution { public TreeLinkNode GetNext(TreeLinkNode node) { if (node == null) { retu...原创 2018-03-12 00:00:44 · 351 阅读 · 0 评论 -
《剑指 Offer》学习(4)—— 55_二叉树的深度、判断是否为平衡二叉树
1 计算二叉树深度 非递归实现 public int nonRecursive(TreeNode root){ if(root == null) return 0; Queue<TreeNode> queue = new ArrayList<>(); queue.add(root); int depth = 0, coun...原创 2018-03-05 23:22:13 · 317 阅读 · 0 评论