珠海seo網(wǎng)站建設(shè)鄭州搜狗關(guān)鍵詞優(yōu)化顧問
目錄
一、題目思路
二、相關(guān)題目
三、總結(jié)與知識(shí)點(diǎn)
3.1 字符數(shù)組轉(zhuǎn)換成字符串
一、題目思路
344反轉(zhuǎn)字符串比較容易,雙指針即可在空間復(fù)雜度為O(1)的基礎(chǔ)上解決;
541反轉(zhuǎn)字符串II :其中for循環(huán)中 i 每次的取值,不是 i++,這里一開始沒想到,不知道怎么用變量控制2k的計(jì)數(shù)。。。
還有就是,字符串和字符數(shù)組之間的轉(zhuǎn)換;
在進(jìn)行反轉(zhuǎn)時(shí),尾指針的取值是和剩余字符的個(gè)數(shù)有關(guān)系;
首先 i 從0開始,每次取值更新+2k,根據(jù)剩余字符的數(shù)量,給出反轉(zhuǎn)字符串的尾指針取值,在進(jìn)行一次反轉(zhuǎn)以后,跳出本次循環(huán),后面的代碼不再執(zhí)行,i 值要更新;
其中,尾指針的取值,有些邊界值要清楚,弄不清的時(shí)候畫圖代入;
二、相關(guān)題目
344.反轉(zhuǎn)字符串
344. 反轉(zhuǎn)字符串 - 力扣(LeetCode)
class Solution {public void reverseString(char[] s) {int left = 0;int right = s.length - 1;while(left < right){char temp = s[left];s[left] = s[right];s[right] = temp;left++;right--;}}
}
541.反轉(zhuǎn)字符串II
541. 反轉(zhuǎn)字符串 II - 力扣(LeetCode)?
class Solution {public String reverseStr(String s, int k) {char[] c = new char[s.length()];for(int i = 0;i < c.length;i++){c[i] = s.charAt(i);}//char[] c = s.toCharArray();for(int i = 0;i < c.length;i+=2 * k){ if((c.length - i) >= k){reverse(c,i,i + k -1);continue;}reverse(c,i,c.length - 1);}return new String(c);//return Arrays.toString(c);}public void reverse(char[] c, int i, int j){while(i < j){char temp = c[i];c[i] = c[j];c[j] = temp;i++;j--;}}
}
三、總結(jié)與知識(shí)點(diǎn)
3.1 字符數(shù)組轉(zhuǎn)換成字符串
new String(c);
-
作用:通過字符數(shù)組創(chuàng)建一個(gè)新的字符串對(duì)象。
-
結(jié)果:它會(huì)將字符數(shù)組中的所有字符按順序拼接成一個(gè)字符串。例如,如果字符數(shù)組
c
是{'a', 'b', 'c'}
,那么new String(c)
的結(jié)果是"abc"
。 -
原理:
String
類的構(gòu)造方法會(huì)將字符數(shù)組中的每個(gè)字符依次拼接,形成一個(gè)連續(xù)的字符串。
Arrays.toString(c);?
-
作用:將數(shù)組轉(zhuǎn)換為字符串表示形式。
-
結(jié)果:它會(huì)返回一個(gè)表示數(shù)組內(nèi)容的字符串,格式為
[元素1, 元素2, ...]
。例如,如果字符數(shù)組c
是{'a', 'b', 'c'}
,那么Arrays.toString(c)
的結(jié)果是"[a, b, c]"
。 -
原理:
Arrays.toString
方法會(huì)遍歷數(shù)組,并將每個(gè)元素用逗號(hào)分隔,同時(shí)用方括號(hào)括起來,形成一個(gè)字符串表示數(shù)組的結(jié)構(gòu)。
總結(jié):
-
將字符數(shù)組直接拼接成一個(gè)字符串,應(yīng)該使用
new String(c);
-
保留數(shù)組的結(jié)構(gòu),以字符串形式展示數(shù)組內(nèi)容,應(yīng)該使用
Arrays.toString(c)。
?