算法设计:如何打印字符串中每个单词的最后一个字符?

2021年3月29日16:26:38 发表评论 775 次浏览

本文概述

给定一个字符串str, 任务是打印字符串中每个单词的最后一个字符

例子:

输入:str ="lsbin in lsbin"
输出:n n n
输入:str ="computer applications"
输出:r s

方法:附加一个空格""在给定字符串的末尾, 以便字符串中的最后一个单词后面也跟一个空格, 就像字符串中的所有其他单词一样。现在开始逐个字符遍历字符串, 并打印每个字符, 后跟一个空格。

下面是上述方法的实现:

C ++

// CPP implementation of the approach
#include<bits/stdc++.h>
using namespace std;
  
// Function to print the last character
// of each word in the given string
void printLastChar(string str)
{
  
     // Now, last word is also followed by a space
     str = str + " " ;
     for ( int i = 1; i < str.length(); i++) 
     {
  
         // If current character is a space
         if (str[i] == ' ' )
  
             // Then previous character must be
             // the last character of some word
             cout << str[i - 1] << " " ;
     }
}
  
// Driver code
int main()
{
     string str = "lsbin in lsbin" ;
     printLastChar(str);
}
  
// This code is contributed by
// Surendra_Gangwar

Java

// Java implementation of the approach
class GFG {
  
     // Function to print the last character
     // of each word in the given string
     static void printLastChar(String str)
     {
  
         // Now, last word is also followed by a space
         str = str + " " ;
         for ( int i = 1 ; i < str.length(); i++) {
  
             // If current character is a space
             if (str.charAt(i) == ' ' )
  
                 // Then previous character must be
                 // the last character of some word
                 System.out.print(str.charAt(i - 1 ) + " " );
         }
     }
  
     // Driver code
     public static void main(String s[])
     {
         String str = "lsbin in lsbin" ;
         printLastChar(str);
     }
}

Python3

# Function to print the last character
# of each word in the given string
def printLastChar(string):
  
     # Now, last word is also followed by a space
     string = string + " "
     for i in range ( len (string)):
  
         # If current character is a space
         if string[i] = = ' ' :
  
             # Then previous character must be
             # the last character of some word
             print (string[i - 1 ], end = " " )
  
# Driver code
string = "lsbin in lsbin"
printLastChar(string)
  
# This code is contributed by Shrikant13

C#

// C# implementation of the approach 
using System;
  
class GFG 
{ 
  
     // Function to print the last character 
     // of each word in the given string 
     static void printLastChar( string str) 
     { 
  
         // Now, last word is also followed by a space 
         str = str + " " ; 
         for ( int i = 1; i < str.Length; i++) 
         { 
  
             // If current character is a space 
             if (str[i] == ' ' ) 
  
                 // Then previous character must be 
                 // the last character of some word 
                 Console.Write(str[i - 1] + " " ); 
         } 
     } 
  
     // Driver code 
     public static void Main() 
     { 
         string str = "lsbin in lsbin" ; 
         printLastChar(str); 
     } 
} 
  
// This code is contributed by Ryuga

的PHP

<?php
// PHP implementation of the approach
  
// Function to print the last character
// of each word in the given string
function printLastChar( $str )
{
     // Now, last word is also followed by a space
     $str = $str . " " ;
     for ( $i = 1; $i < strlen ( $str ); $i ++) 
     {
         // If current character is a space
         if (! strcmp ( $str [ $i ], ' ' ))
  
             // Then previous character must be
             // the last character of some word
             echo ( $str [ $i - 1] . " " );
     }
}
  
// Driver code
$str = "lsbin in lsbin" ;
printLastChar( $str );
  
// This code contributed by PrinciRaj1992 
?>

输出如下:

n n n

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: