zoukankan      html  css  js  c++  java
  • Day 56

    第557题:

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。(来自LeetCode)

    1、创建一个新的字符串来存储每次反转的单词;

      从字符串头部开始遍历,当遍历完一个单词(也就是遍历到空格时),将这个单词反转然后放入创建的字符串中,加上空格,接着遍历下一个单词;

      最后得出反串字符串。  

      

    第541题:

    给定一个字符串 s 和一个整数 k,你需要对从字符串开头算起的每隔 2k 个字符的前 k 个字符进行反转。来源:力扣(LeetCode)

    如果剩余字符少于 k 个,则将剩余字符全部反转。
    如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。

    1、循环遍历字符串,每2*k为一段,在这一段内寻找左右两个端点,开头start和end(start+k-1);

      当到最末尾时如果大于end就定为length-1,然后将范围内字符反转,最后得出结果。

      

    第917题:

    给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。(来自LeetCode)

    1、利用双指针分别从左右两端开始遍历,当两者都为字母时交换,当某个指针指向的不为字母则移动;

      这样遍历到最后得出反转结果。

      

    2、或者利用栈将字符串内所以时字母的字符入栈,然后遍历s字符串,如果遍历到的是字母,就将栈顶字母出栈,加入新字符串中;

      如果遍历到的不为字母,就将这个不为字母的元素加入新字符串,因为出栈队列为逆序,所以这样得到的为之反转字母的字符串。

      

  • 相关阅读:
    CentOS7----Linux Root忘记,进入救援模式更改密码(两种方法!)
    Linux/CentOS7install PackageError: Loaded plugins: fastestmirror
    LinuxCentOSamba7关闭SELinux重新启动失败出现:Failed to load SElinux policu freezing
    Github Page + Hexo 搭建个人博客
    Selenium的使用
    Linux下使用Selenium进行自动化测试
    Python学习-网络编程
    Python学习-多线程和多进程
    Python学习-从面向对象开始
    Linux安装Jupyter并且远程访问
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13587324.html
Copyright © 2011-2022 走看看