在线网站制作,营销玩法,瀑布流分享网站源代码下载,信阳住房和城乡建设厅网站文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一#xff1a;模拟代码#xff1a;思路二#xff1a;双端队列代码#xff1a; 2810. 故障键盘 思路一#xff1a;模拟
用StringBuilder来拼贴字符遍历字符串#xff0c;如果遇到i,对拼贴好… 文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一模拟代码思路二双端队列代码 2810. 故障键盘 思路一模拟
用StringBuilder来拼贴字符遍历字符串如果遇到i,对拼贴好的进行逆置否则进行拼贴最终返回字符串类型
代码 // 2810. 故障键盘public String finalString(String s) {StringBuilder sb new StringBuilder();for (char x : s.toCharArray()) {if (x i) {sb.reverse();} else {sb.append(x);}}return sb.toString();}思路二双端队列
调用双端队列如果遇到i,需要进行逆置相当于进行头插法改变标记没遇到i,并且标记为真进行尾插法最后检查是否需要逆置
代码 public String finalString(String s) {// 双端队列DequeCharacter deque new ArrayDeque();StringBuilder sb new StringBuilder();boolean flg true;for (char x : s.toCharArray()) {if (x i) {flg !flg;//碰到i,进行逆置//再次碰到i,反过耒} else if (flg) {//如果为真添加到队尾deque.addLast(x);}else {//x不等于i,并且由于前一个是i,发生逆转// 相当于添加到队头deque.addFirst(x);}}for (char c:deque) {sb.append(c);}if (!flg){sb.reverse();}return sb.toString();}点击移步博客主页欢迎光临~