• 力扣(LeetCode)试题58-最后一个单词的长度 C++代码


    思路:需要两个变量存储单词,vac为先锋,用于不断索取新单词;pre_vac为后备军,用于存储上一个单词,避免vac先锋索不到单词

    具体看代码,已注释

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 class Solution {
     6 public:
     7     int lengthOfLastWord(string s) 
     8     {
     9         string pre_vac = "";//存储上一个单词,初始值为空串
    10         string vac = "";//存储当前单词,初始值为空串
    11         if (s.length() == 0) return 0;//若字符串为空,则返回0
    12         else
    13         {
    14             for (int i = 0; i<s.length(); i++)//遍历字符串
    15             {
    16                 if (s[i] != ' ')//若某元素不是“空格”,将其存入 当前单词vac
    17                     vac += s[i];
    18                 else//若某元素是“空格”,将当前单词清空,准备存入下一个非空格元素
    19                 {
    20                     if (vac.length() != 0)//清空之前,若当前单词不为空,将当前单词值给上一个单词pre_vac
    21                     {
    22                         pre_vac = vac;
    23                     }
    24                     vac = "";//清空
    25                     continue;
    26                 }
    27             }
    28             if (vac.length() == 0)//循环结束时,如果当前单词为空,则将最后存入的单词pre_vac赋值给vac,并返回
    29                 vac = pre_vac;
    30         }
    31         return vac.length();
    32     }
    33 };
    34 
    35 int main()
    36 {
    37     Solution sol;
    38     int n;
    39     string s = "b   a    ";
    40     n = sol.lengthOfLastWord(s);
    41     cout << n << endl;
    42     
    43     int q;
    44     cin >> q;
    45     return 0;
    46 }

  • 相关阅读:
    操作excel语法
    MySQL exists的用法介
    vim 快捷键
    mysql中datetime比较大小问题
    MySQL CAST与CONVERT 函数的用法
    tbxvUZIAJH
    springBoot相关
    springCloud
    Spring Boot使用JavaMailSender发送邮件
    RabbitMq 消息队列
  • 原文地址:https://www.cnblogs.com/pgzhanglin/p/13271699.html
Copyright © 2020-2023  润新知