解题思路:
1.使用额外的数组,数组长度等于字符串的长度.
2.遍历,让原字符串下标为i位置的字符,放到数组中下标为 (i+k)%s.length()的位置
3.最后引用一个新字符串,让数组的内容变成字符串.
画图解析:
代码实现:
class Solution {
public String reverseLeftWords(String s, int n) {
//让l表示字符串长度
int l = s.length();
//让ret表示ch数组的下标
int ret = 0;
//定义一个数组,数组的长度和字符串长度相等
char[] ch = new char[l];
//遍历
for(int i=0;i<l;i++){
//让字符串旋转后的字符放入ch数组
int m = (n + i) % l;
char c = s.charAt(m);
ch[ret++]=c;
}
//将数组中的内容变成字符串
String str = new String(ch,0,ret);
return str;
}
}
第二题:轮转数组
=================================================================
LeetCode 189:
描述:
给你一个数组,将数组中的元素向右轮转 k
个位置,其中 k
是非负数。
解题思路:
1.定义一个额外数组arr;
2.遍历,让原数组下标为i位置的元素,放到数组中下标为 (i+k)%s.length()的位置
3.将arr数组拷贝给原数组(System.arraycopy())
画图解析:
总结
谈到面试,其实说白了就是刷题刷题刷题,天天作死的刷。。。。。
为了准备这个“金三银四”的春招,狂刷一个月的题,狂补超多的漏洞知识,像这次美团面试问的算法、数据库、Redis、设计模式等这些题目都是我刷到过的
并且我也将自己刷的题全部整理成了PDF或者Word文档(含详细答案解析)
66个Java面试知识点
架构专题(MySQL,Java,Redis,线程,并发,设计模式,Nginx,Linux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)
算法刷题(PDF)
ux,框架,微服务等)+大厂面试题详解(百度,阿里,腾讯,华为,迅雷,网易,中兴,北京中软等)**
[外链图片转存中…(img-K6H6pKlD-1714413770126)]
算法刷题(PDF)
[外链图片转存中…(img-Ig4FYlwm-1714413770126)]