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

郑州天梯网站制作wordpress页面伪静态

郑州天梯网站制作,wordpress页面伪静态,佛山官网建设,三亚网站建设方案1. 反转字符串 反转字符串 编写一个函数#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 1.1 交换 这一题的思路还是简单的其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 1.1 交换 这一题的思路还是简单的就是将左边的元素和右边的元素交换位置即可原地修改数组。 public void reverseString(char[] s) {if(s.length 0 || s null){return ;}for(int left 0, rights.length-1; leftright; left,right--){char swap s[left];s[left]s[right];s[right]swap;}}2. 反转字符串 II 反转字符串 给定一个字符串 s 和一个整数 k从字符串开头算起每计数至 2k 个字符就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个则反转前 k 个字符其余字符保持原样。 2.1 反转 这个题目的叙述有点难以理解总结就是每个K个就反转前k个如果剩余长度不能k那么将剩余元素都反转。 示例 1 输入s “abcdefg”, k 2 输出“bacdfeg” k22k4反转ab 变成bacdefg 剩余3k32k, 反转ef 变成bacdfeg 反转每个下标从2k开始的 public String reverseStr(String s, int k) {int length s.length();char [] chars s.toCharArray();for(int i0;ilength;i2*k){swap(i,Math.min(ik,length)-1,chars);}return new String(chars);}public void swap(int start,int end,char [] chars){while(startend){char temp chars[start];chars[start] chars[end];chars[end] temp;start;end--;}}3. 仅仅反转字母 仅反转字母 给你一个字符串 s 根据下述规则反转字符串 所有非英文字母保留在原有位置。 所有英文字母小写或大写位置反转。 返回反转后的 s 。 示例 1 输入s “ab-cd” 输出“dc-ba” 3.1 反转 这个题目如果不看-符号就是一个普通的字符交换但是多了一个字符只需要每次遇到这个字符的时候就跳过这个字符就可以其余的交换依然一样。 public String reverseOnlyLetters(String s) {char [] arr s.toCharArray();int left 0;int right s.length()-1;while(leftright){while(leftright !Character.isLetter(arr[left])){left;}while(leftright !Character.isLetter(arr[right])){right--;}char temp arr[left];arr[left] arr[right];arr[right] temp;left;right--;}return new String(arr);} 这一题一开始没看全就就认为字符是-,但是1这些也都是字符所以需要使用Character.isLetter()判断是否为字符。 3.2 栈 当然这一题还可以使用栈来存储里面的英文然后遍历字符串栈里面元素出来的顺序就是逆序的然后和字符串比较如果不是英文字母那么就添加这个字符否则就添加出栈元素。 public String reverseOnlyLetters(String s) {char [] arr s.toCharArray();StackCharacter stack new Stack();for(char c : arr){if(Character.isLetter(c)){stack.push(c);}}StringBuilder sb new StringBuilder();for(char c:arr){if(Character.isLetter(c)){sb.append(stack.pop());}else{sb.append(c);}}return sb.toString();}但是很显然这种方式速度方面不怎么行但是也是易于理解的。 4. 反转字符串中的单词 反转字符串中的单词 给你一个字符串 s 请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中单词间应当仅用单个空格分隔且不包含任何额外的空格。 4.1 调用API 可以使用正则匹配来将字符串分组然后从后遍历字符串数组将其添加到stringbuilder里面去每一次添加都需要额外添加一个空格。 public String reverseWords(String s) {String [] words s.trim().split(\\s);StringBuilder sb new StringBuilder();for(int i words.length-1;i0;i--){sb.append(words[i]);if(i0){sb.append( );}}return sb.toString();}虽然说这个方式很容易想到但是实际面试里面不会这么写而是手动进行切割。 4.2 自定义 总体思路就是使用两个指针start,end然后逆序遍历字符串end就是当前单词末尾位置start就是当前单词的开始位置然后再次遍历这个start-end位置的元素添加至stringbuilder里面添加一个空白。 public String reverseWords(String s) {int start,end;StringBuilder sb new StringBuilder();for(int is.length()-1;i0;i--){// 最后一个元素是哦空格跳过if(s.charAt(i) ){ continue;}// 单词结束位置end i1;// 获取单词第一个位置while(i0 s.charAt(i)! ){i--;}start i1;// 添加单词for(int jstart;jend;j){sb.append(s.charAt(j));}sb.append( );}// 删除最后一个空格sb.deleteCharAt(sb.length()-1);return sb.toString();}官方的解法较为复杂。
http://www.hkea.cn/news/14572326/

相关文章:

  • 太原网站推广只选中联传媒平江外贸网站推广找哪家
  • 哪个网站做网站方便开发公司复工复产工作方案
  • 深圳市官方网站北京教育云平台网站建设
  • 电子商务商城网站建设意见反馈的网站怎么做
  • 微信小程序展示网站建设多少钱建设婚介网站
  • 如何在微信公众号中导入wordpressseo交流中心
  • 济南模板网站做软件的网站php
  • 网站关键词优化排名软件系统产品推广平台有哪些
  • 网站建设推进计划快站app下载
  • 网站网站建设设计黄页推广
  • 网页设计网站阿里云上的网站建设
  • 合肥网站建设公司网站和新媒体建设方案
  • 乐山做网站的公司wordpress nova 汉化
  • 成都网站建设服务平台软文世界官网
  • 网站建设算固定资产吗工业互联网平台首先要提高数据的挖掘能力
  • 惠州网站建设方案推广wordpress又拍云cdn伪静态
  • 网站建设实施计划包括哪些方面建设网站报告
  • 计算机网络网站建设的实训总结建网页的软件
  • 厦门入夏网站建设公司顺电网上商城怎么样
  • 怎么开发微信网站whois哪个网站好
  • 海珠区pc端网站建设网站自助建设源码
  • 免费编程网站网站建设流程行业现状
  • 当当网网站建设需求分析做网站漯河
  • ps网站首页效果图实例三亚百度推广公司电话
  • 如何建设个人的网站wordpress怎么使用七牛云储存
  • 举报网站建设公司广东网站建设服务
  • 设计网站的步骤花生壳无法穿透访问wordpress
  • 网站的开发工具有哪些天猫网站设计教程
  • 贵州省住房和城乡建设厅网站(域名怎么拿来做网站
  • 企业网站怎么扣费的网站建站公司哪家价钱合理