最全剑指offer:3-7记录,Java框架体系架构的知识

总结

在清楚了各个大厂的面试重点之后,就能很好的提高你刷题以及面试准备的效率,接下来小编也为大家准备了最新的互联网大厂资料。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取


请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

示例 1:

输入:s = “We are happy.”

输出:“We%20are%20happy.”

思路:从后往前填,未填的数不会被覆盖,每个字母只需赋值一次。(否则从前往后替换要不断地移动后面的字符)

class Solution {

public String replaceSpace(String s) {

int length = s.length();

char[] array = new char[length * 3];

int size = 0;

for (int i = 0; i < length; i++) {

char c = s.charAt(i);

if (c == ’ ') {

array[size++] = ‘%’;

array[size++] = ‘2’;

array[size++] = ‘0’;

} else {

array[size++] = c;

}

}

String newStr = new String(array, 0, size);

return newStr;

}

}


输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:

输入:head = [1,3,2]

输出:[2,3,1]

限制:

0 <= 链表长度 <= 10000

思路:放栈里倒出来即可。

/**

  • Definition for singly-linked list.

  • public class ListNode {

  • int val;
    
  • ListNode next;
    
  • ListNode(int x) { val = x; }
    
  • }

*/

class Solution {

public int[] reversePrint(ListNode head) {

Stack stack = new Stack();

while (head != null) {

stack.push(head);

head = head.next;

}

int size = stack.size();

int[] arr = new int[size];

for (int i = 0; i < size; i++) {

arr[i] = stack.pop().val;

}

return arr;

}

}


输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。

例如,给出

前序遍历 preorder = [3,9,20,15,7]

中序遍历 inorder = [9,3,15,20,7]

返回如下的二叉树:

3

/ \

9  20

/  \

15   7

限制:

0 <= 节点个数 <= 5000

思路:

1、先序序列的第一个元素是根

2、找到根在中序序列中的位置

3、重复以上过程。

/**

  • 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[] inorder) {

int n = preorder.length;

if (n == 0)

return null;

int rootVal = preorder[0], rootIndex = 0;

for (int i = 0; i < n; i++) {

if (inorder[i] == rootVal) {

rootIndex = i;

break;

最后总结我的面试经验

2021年的金三银四一眨眼就到了,对于很多人来说是跳槽的好机会,大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。

另外,面试中遇到不会的问题不妨尝试讲讲自己的思路,因为有些问题不是考察我们的编程能力,而是逻辑思维表达能力;最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。

BAT面试经验

实战系列:Spring全家桶+Redis等

其他相关的电子书:源码+调优

面试真题:

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

img-0FF7ZTJb-1715596342609)]

[外链图片转存中…(img-4kAnGSs6-1715596342609)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 22
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值