class Solution {
public List<String> fullJustify(String[] words, int maxWidth) {
List<String> list = new ArrayList<>();
StringBuilder sb = new StringBuilder();
int count = 0;
int wordnum = 0, index = 0;
while (index < words.length){
if(count + wordnum + words[index].length() > maxWidth){ //超過
if(wordnum == 1){
sb.append(words[index-1]);
while(sb.length() < maxWidth){
sb.append(' ');
}
list.add(sb.toString());
sb = new StringBuilder();
wordnum = 0;
count = 0;
continue;
}
int spacelen = maxWidth - count;
int eachspace = spacelen / (wordnum-1);
int extraspace = spacelen % (wordnum-1);
StringBuilder space = new StringBuilder();
for(int i = 0; i < eachspace; i++){
space.append(' ');
}
for(int i = 0; i < extraspace; i++){
sb.append(words[index - wordnum + i]);
sb.append(space);
sb.append(' ');
}
for(int i = extraspace; i < wordnum-1; i++){
sb.append(words[index - wordnum + i]);
sb.append(space);
}
sb.append(words[index - 1]);
list.add(sb.toString());
sb = new StringBuilder();
count = 0;
wordnum = 0;
}
else if(count + wordnum + words[index].length() <= maxWidth){
count += words[index].length();
wordnum++;
index++;
}
}
for(int i = wordnum-1; i >= 0; i--){
sb.append(words[words.length - 1 -i]);
sb.append(' ');
}
sb.deleteCharAt(sb.length()-1);
while (sb.length() < maxWidth){
sb.append(' ');
}
list.add(sb.toString());
return list;
}
}
68.文本左右對齊
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門匣摘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庞瘸,“玉大人,你說我怎么就攤上這事。” “怎么了弹砚?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我逗物,道長搬卒,這世上最難降的妖魔是什么? 我笑而不...
- 正文 為了忘掉前任翎卓,我火速辦了婚禮契邀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘失暴。我一直安慰自己坯门,他們只是感情好,可當(dāng)我...
- 文/花漫 我一把揭開白布逗扒。 她就那樣靜靜地躺著古戴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪矩肩。 梳的紋絲不亂的頭發(fā)上现恼,一...
- 文/蒼蘭香墨 我猛地睜開眼肛跌,長吁一口氣:“原來是場噩夢啊……” “哼艺配!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起衍慎,我...
- 正文 年R本政府宣布妹笆,位于F島的核電站,受9級特大地震影響娜氏,放射性物質(zhì)發(fā)生泄漏拳缠。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒙蒙 一贸弥、第九天 我趴在偏房一處隱蔽的房頂上張望窟坐。 院中可真熱鬧,春花似錦茂腥、人聲如沸狸涌。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽帕胆。三九已至,卻和暖如春般渡,著一層夾襖步出監(jiān)牢的瞬間懒豹,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 聲明一下:這是一種比較無腦簡單粗暴的方式去解決Android文本域?qū)R的方法片酝,讀者可以獲取源碼根據(jù)思路進(jìn)行改造。迫...
- 浮動 float:浮動的意思 浮嘍特 浮動元素的外邊緣不會超過其父元素的內(nèi)邊緣浮動元素不會相互重疊浮動元素不會上下...
- 在高度固定,實現(xiàn)文本一行或兩行文本垂直對齊 把外框高度設(shè)置為兩行(幾行對齊就幾行)的最大高度猴仑。
- 1. 效果圖 2. 代碼截圖 3. 代碼 let alertController = UIAlertControl...
- 從iOS7.0開始, tableViewCell的分隔線總會在左側(cè)留意下一點小間距, 這是蘋果更新系統(tǒng)之后鬧出的幺...