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

民宿网站开发方案wordpress 浏览数

民宿网站开发方案,wordpress 浏览数,wordpress获取文章简介,赣州星亚网络传媒有限公司字符串 简介[简单] 344. 反转字符串[简单] 541. 反转字符串 II[中等] 151. 反转字符串中的单词 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路#xff0c;如果有错误#xff0c;可以在评论区提醒一下。 [简单] 344. 反转字符串… 字符串 简介[简单] 344. 反转字符串[简单] 541. 反转字符串 II[中等] 151. 反转字符串中的单词 简介 记录一下自己刷题的历程以及代码。写题过程中参考了 代码随想录。会附上一些个人的思路如果有错误可以在评论区提醒一下。 [简单] 344. 反转字符串 原题链接 方法① class Solution {public void reverseString(char[] s) {for(int i 0; i s.length / 2; i){swap(s, i,s.length - 1 - i);}}private void swap(char[] s, int i, int j){char temp s[i];s[i] s[j];s[j] temp;} }方法② class Solution {public void reverseString(char[] s) {int i 0;while(i s.length - 1 - i){swap(s, i,s.length - 1 - i);i;}}private void swap(char[] s, int i, int j){char temp s[i];s[i] s[j];s[j] temp;} }[简单] 541. 反转字符串 II 原题链接 一开始想到比较差的方法就是给到一个新的StringBuilder然后按照结果的顺序依次再加入到StringBuilder中去时间复杂度比较高因为对那一部分不需要转置的字符也做了处理。 public String reverseStr(String s, int k) {StringBuilder sb new StringBuilder(s.length());int over -1; //标记已经完成处理的下标for (int i 0; i s.length(); i) {if (i - over 2 * k) {for (int j over k; j over; j--) {sb.append(s.charAt(j));}for (int j over k 1; j over 2 * k; j) {sb.append(s.charAt(j));}over over 2 * k;}}if(s.length() - 1 - over k){for (int j s.length() - 1; j over; j--) {sb.append(s.charAt(j));}}else{for (int j over k; j over; j--) {sb.append(s.charAt(j));}for (int j over k 1; j s.length(); j) {sb.append(s.charAt(j));}}return sb.toString();}这里首先提取了反转部分的代码看起来更清晰同时也避开了对不需要转换的那一部分做处理的时间复杂度效率更高 class Solution {public String reverseStr(String s, int k) {char[] c s.toCharArray();int i 2 * k - 1;int n s.length();for (; i n; i 2 * k) {reverse(c, i-2*k1, i-k);}if(i-2*k1 n) {reverse(c, i - 2 * k 1, n - 1 i - k ? n - 1 : i - k);}return new String(c);}private void reverse(char[] c, int left, int right){while(left right){char temp c[left];c[left] c[right];c[right] temp;left;right--;}} }[中等] 151. 反转字符串中的单词 原题链接 总共分三步删除空格整体反转单词反转。 deleteSpace()删除空格先是删除后置空格删除前置空格再删除中间的空格因为中间的空格需要保留一个与删除前置后置逻辑上不同 使用StringBuilder类的话需要注意 ①delete函数的右边界end对应下标并不会被删除比如sb.delete(5,8)删除的是5,6,7下标对应元素。 ②先删除前导空格的话会导致整个字符串的所有下标都左移不利于判断先删除后置空格则没有这个问题。 //先删除后置再删除前置 if(r 1 s.length() - 1) sb sb.delete(r 1, s.length()); //删除后置空格 if(l 0) sb sb.delete(0, l); //删除前导空格③StringBuilder使用一个String类型构造的时候分配的空间不完全是String本身的长度所以在delete操作中删除右边空格的end边界应该是String的长度边界而不是StringBuilder的。 class Solution {public String reverseWords(String s) {StringBuilder sb deleteSpace(s);sb reverse(sb, 0, sb.length()-1);int start 0;int i 0;for(; i sb.length(); i){if(sb.charAt(i) ){sb reverse(sb, start, i - 1);start i 1;}}sb reverse(sb, start, i - 1);return sb.toString();}private StringBuilder deleteSpace(String s){int l 0;int r s.length() - 1;while(s.charAt(l) ) l;while(s.charAt(r) ) r--;StringBuilder sb new StringBuilder(s);if(r 1 s.length() - 1) sb sb.delete(r 1, s.length()); //删除后置空格if(l 0) sb sb.delete(0, l); //删除前导空格int i 0;while(i sb.length()){if(sb.charAt(i) ) {int start i;while (sb.charAt(i) ) i;int end i;if (end - start 0) {sb sb.delete(start, end);i start;}}i;}return sb;}private StringBuilder reverse(StringBuilder sb, int l, int r){while(l r){char temp sb.charAt(l);sb.setCharAt(l, sb.charAt(r));sb.setCharAt(r, temp);l;r--;}return sb;} }
http://www.pierceye.com/news/730458/

相关文章:

  • 网站 团队博罗网站建设哪家便宜
  • wordpress列表分页枣庄seo外包
  • 知了网站后台推广形式有哪几种
  • 成品图片的网站在哪里找wordpress开启防盗链
  • 伊滨区网站建设网站建设经理
  • 权威的郑州网站建设域名租用平台
  • 造价工程师网网站点击排名优化
  • 网站关键词搜索海口网站建设优化公司
  • WordPress建影视站免费的素材网站有哪些
  • 屯留做网站哪里好阿里云服务器618
  • 网站怎么做登录模块免费的编程软件下载
  • 网站建设与管理的策划书网站建设五合一
  • 网站建设管理分工公司招聘网站有哪些
  • 分类信息网站手机版上海网站关键词优化方法
  • 建设个人网站的参考网站及文献怎么做水果网站
  • 台山住房和城乡建设 网站有赞分销
  • 网站备案 历史wordpress货币插件
  • 如何做自助搜券网站佛山顺德专业做网站
  • 义乌网站制作多少钱工会网站建设
  • 六安高端网站建设公司开网店的流程步骤
  • 网站被墙301怎么做展馆展厅设计效果图
  • 唐山市城市建设规划局网站大兴做网站公司
  • 陕西做网站的公司地址克拉玛依市住房和建设局网站
  • 做电影网站 广告收入怎么知道网站被k
  • 开发企业网站费用深圳宝安seo
  • 算命公司网站建设制作开发方案教育培训机构招生网站建设
  • 织梦做网站被告全椒网站建设
  • 安卓网站开发平台互联网工具型网站
  • 如何建设国外的网站联盟营销网站有哪些
  • 微信怎么创建微信公众号seo应该如何做