当前位置: 首页 > news >正文

梧州市网站建设小程序游戏开发公司

梧州市网站建设,小程序游戏开发公司,移动网站开发技术有哪些,怎样用dw做新闻发布网站链接#xff1a;力扣344-反转字符串 链接#xff1a;力扣541-反转字符串|| 链接#xff1a;剑指 Offer 05. 替换空格 链接#xff1a;力扣151- 反转字符串的单词 链接#xff1a;剑指 Offer 58 - II. 左旋转字符串 链接#xff1a;力扣344-反转字符串 思路#xff…链接力扣344-反转字符串 链接力扣541-反转字符串|| 链接剑指 Offer 05. 替换空格 链接力扣151- 反转字符串的单词 链接剑指 Offer 58 - II. 左旋转字符串 链接力扣344-反转字符串 思路以中间为分界线左右两个边界交换字符依次向里收缩 class Solution {public void reverseString(char[] s) {int n s.length;for(int i 0, j n-1; ij; i,j--){char tmp s[i];s[i] s[j];s[j] tmp;}} }链接力扣541-反转字符串|| 思路 首先字符串转化为字符数组 char[] res s.toCharArray(); 最后将数组再转回字符串 return new String(res); 1、循环以2k为单位 2、在这个2k长的数组中进行反转需要有首尾索引 3、start就是iend在循环过程中为ik-1如果到数组最后且不够k个直接将length-1作为尾 class Solution {public String reverseStr(String s, int k) {// 字符串转化为字符数组char[] res s.toCharArray();// 这段的逻辑// 1、循环以2k为单位// 2、在这个2k长的数组中进行反转需要有首尾索引// 3、start就是iend在循环过程中为ik-1如果到数组最后且不够k个直接将length-1作为尾for(int i 0; i res.length; i 2*k){int start i;int end Math.min(start k - 1, res.length-1);reverse(res,start,end);}return new String(res);}public char[] reverse(char[] ch,int i,int j){int n ch.length;while(i j){char tmp ch[i];ch[i] ch[j];ch[j] tmp;i;j--;}return ch;} }链接剑指 Offer 05. 替换空格 思路 循环过程中都把字符串转为了字符数组这样方便遍历 使用双指针方法不使用额外空间 1、用StringBuider先把需要增加的空间给算出来 2、用两个指针left指向旧字符串的末尾right指向新字符串的末尾 一旦遇到旧字符的空位新字符串需要加’0’,‘2’,%这三个字符 如果没遇到空位则直接让新串right旧串left 最后再进行left–right– 3、特殊情况s串为空或者长度为0遍历之后发现s串中没有空格需要添加的 class Solution {public String replaceSpace(String s) {// 如果s为空或者长度为0if(s null || s.length() 0) return s;char[] arr s.toCharArray();StringBuilder str new StringBuilder();for(int i 0; i arr.length; i){if(arr[i] ){str.append( );}}// 如果str为0则说明原字符串无空格if(str.length() 0) return s;int left s.length()-1;//串的拼接s str.toString();int right s.length()-1;char[] ch s.toCharArray();//循环条件旧串一直到最前面一个while(left 0){if(ch[left] ){ch[right--] 0;ch[right--] 2;ch[right] %;}else{ch[right] ch[left];}left--;right--;}//最后将字符数组直接放入String中return new String(ch);} }链接力扣151- 反转字符串的单词 思路 1、先处理单词中可能的多余空格 2、整个串全部反转 3、串中的单词逐个反转回来 class Solution {public String reverseWords(String s) {StringBuilder sb removeSpace(s);reverseString(sb,0,sb.length()-1);reEachWord(sb);return sb.toString();}private StringBuilder removeSpace(String s){int start 0;int end s.length() - 1;//删除前后位置的空格while (s.charAt(start) ) start;while (s.charAt(end) ) end--;StringBuilder sb new StringBuilder();while(start end){char c s.charAt(start);// 下面的循环可以保证每个单词间只有一个空格// if的第一个条件保证空格前的单词可以进入sb中// 当c 时第二个条件发挥作用// if的第二个条件保证单词与单词间只有一个空格// 当c 且sb.charAt(sb.length() - 1) 时则说明有多余的空格start需要if(c ! || sb.charAt(sb.length() - 1) ! ){sb.append(c);}start;}return sb;}/*** 反转字符串指定区间[start, end]的字符*/public void reverseString(StringBuilder sb, int start, int end) {// System.out.println(ReverseWords.reverseString() called with: sb [ sb ], start [ start ], end [ end ]);while (start end) {char temp sb.charAt(start);sb.setCharAt(start, sb.charAt(end));sb.setCharAt(end, temp);start;end--;}// System.out.println(ReverseWords.reverseString returned: sb [ sb ]);}private void reEachWord(StringBuilder sb){int start 0;int end 1;int n sb.length();// 第一个遍历整个带空格的字符串的遍历while(start n){// 第二个遍历对每个单词进行遍历// 直到遍历到end为空结束while(end n sb.charAt(end) ! ){end;}// end - 1 是因为end现在指向的是空reverseString(sb,start,end-1);// end为空1是下一个单词的开始start end 1;end start 1;}} }链接剑指 Offer 58 - II. 左旋转字符串 思路 用substring的思路将前n个存到sb串中把前几个截走再接上sb串 不用substring的思路先反转前n个再反转后面的最后整体反转一次 使用substring() class Solution {public String reverseLeftWords(String s, int n) {StringBuilder sb new StringBuilder();for(int i 0; i n; i){sb.append(s.charAt(i));}String newstr s.substring(n);newstr sb.toString();return newstr;} }三次反转代码 class Solution {public String reverseLeftWords(String s, int n) {int lens.length();StringBuilder sbnew StringBuilder(s);reverseString(sb,0,n-1);reverseString(sb,n,len-1);return sb.reverse().toString();}public void reverseString(StringBuilder sb, int start, int end) {while (start end) {char temp sb.charAt(start);sb.setCharAt(start, sb.charAt(end));sb.setCharAt(end, temp);start;end--;}} }
http://icebutterfly214.com/news/21223/

相关文章:

  • 2025 年 11 月冷库板/聚氨酯冷库板/机制板, 冷库门, 冷库工程/冷库集成厂家推荐排行榜:专业制造与高效保温系统解决方案
  • 价值权衡的完整计算模型:价值体系与规则体系的辩证统一
  • 2025年11月黄黑皮美白产品对比榜:从成分到肤感十款实测排名
  • 2025年11月学生平板品牌推荐:护眼大屏榜对比学习场景差异
  • 2025年11月适合小学生的学习机推荐榜:五强参数与体验全解析
  • 每日反思(2025_11_05)
  • CRT弹窗接收用户文本输入
  • 题解:AT_abc225_h [ABC225H] Social Distance 2
  • 表相关操作
  • 102302149赖翊煊数据采集第二次作业
  • 引领未来,智启新程:Compete MIS平台——低代码时代的全能信息化管理解决方案
  • CF2085D Serval and Kaitenzushi Buffet
  • 11月6日
  • Spring ApplicationEventPublisher 事件发布
  • 选择 Tita 新绩效一体化的 5 大理由
  • 团队第一次作业
  • 备考笔记8
  • 数字识别模型
  • 搜维尔科技:Xsens动作捕捉系统实时捕捉人体运动数据,为人形机器人提供拟人化动作训练和实时控制支持
  • java word转 pdf
  • 运维审计/堡垒机选型 2025:从 SSH 直连|堡垒机绕行的可见性到“命令+返回文本”的内容级证据
  • java第三天
  • [题解]P10277 [USACO24OPEN] Bessies Interview S
  • 第一次团队项目作业
  • attention论文及Transformer工作原理概述
  • P10277 [USACO24OPEN] Bessies Interview S 题解
  • vue 3.x 前端导出功能
  • 不越狱给iOS App装Tweak/插件:LiveContainer环境介绍与Tweak编写
  • Bigtop 从零开始搭建大数据集群
  • 2025济南艺考文化课培训推荐榜:艺考文化课培训,艺考文化课培训机构适配不同艺考生需求