输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 这道题本质是用递归对二叉树的前序遍历,即从上到下,从左到右对树的每一条路径的遍历,因此遍历完一条路径后,要做好遍历下一条路径的准备工作,即把最后一个节 ...
分类:
其他好文 时间:
2020-04-28 00:34:52
阅读次数:
51
一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 示例 1: 示例 2: 限制: 2 <= nums <= 10000 思路: 1.先将数组中的全部数异或,最后得到的xor,就是num1和num2异或 ...
分类:
编程语言 时间:
2020-04-28 00:31:52
阅读次数:
52
面试题5 从尾到头打印单链表 题目描述: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 解题思路:链表的每个元素由两部分组成,元素值和下一个元素的地址,输入一个链表,开始指针指向第一个节点,操作完一个节点接着将指针指向第二个节点,将元素值保存在列表中,逆序操作是list[:: 1] ...
分类:
编程语言 时间:
2020-04-28 00:14:08
阅读次数:
77
题意描述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 解题思路 一、递归 使用 depth 表示当前打印的层数。 1. 当前节点为空,返回。 2. 当前层数 》 已打印的层数,扩容。 3. 将元素添加入集合。 4. 向左递归、向右递归。 二、非递归 利用队列先进先出的特点。 1 ...
分类:
其他好文 时间:
2020-04-27 17:22:03
阅读次数:
54
题目描述 输入一个链表,反转链表后,输出新链表的表头。 解法1 可以使用三个辅助指针pHead, last,next pHead记录当前节点,last记录上一个节点,next记录下一个节点 首先使用next保存当前节点的下一个节点,然后将当前节点的下一个节点指向last,实现反转 如下图所示 实现代 ...
分类:
其他好文 时间:
2020-04-26 20:31:46
阅读次数:
55
1. 递归 可过,耗时长。 1 class Solution { 2 public: 3 int jumpFloor(int number) { 4 if(number==0) 5 return 0; 6 if(number==1) 7 return 1; 8 if(number==2) 9 ret ...
分类:
其他好文 时间:
2020-04-25 19:26:19
阅读次数:
66
1. 递归 过不了!超时! 1 class Solution { 2 public: 3 int Fibonacci(int n) { 4 if(n==0) 5 return 0; 6 if(n==1) 7 return 1; 8 if(n==2) 9 return 1; 10 if(n>2) 11 ...
分类:
其他好文 时间:
2020-04-25 19:04:43
阅读次数:
54
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析 栈先进后出: 队列先进先出: > A_in > in < A_out > out < B_in > B_out 解题: # -*- coding:utf-8 -*- class Solution: ...
分类:
其他好文 时间:
2020-04-25 10:35:51
阅读次数:
59
都说金三银四是找工作的最佳时节,由于本人的个人职业规划跟目前工作内容不太相符(具体原因就不透露了,领导平时也要来这里逛,哈哈),四月份挑选了10多家公司投递简历(公司规模从几十人到上万人都有),参加了7家公司的电话面试,收获了5个offer,也还算不错。下面就分享一下面试过程中一些基础的,又最常见的问题。不啰嗦了,直接看题。1.synchronized你用过吗?synchronized和Lock的
分类:
编程语言 时间:
2020-04-25 09:14:44
阅读次数:
67