📜  检查给定的字符串是否为注释

📅  最后修改于: 2021-04-17 16:32:02             🧑  作者: Mango

给定一个字符串S ,它表示程序中的一行,任务是检查给定的字符串是否为注释。

例子:

方法:想法是检查输入的字符串是否为注释。步骤如下:

  • 检查第一个索引(即索引0)的值是否为“ /”,然后按照以下步骤操作,否则打印“这不是注释”。
  • 如果line [0] ==’/’:
    • 如果line [1] ==’/’,则打印“这是一行注释”。
    • 如果line [1] ==’*’,则遍历字符串,如果找到任何相邻的’*’和’/’对,则打印“这是多行注释”。
  • 否则,打印“这不是评论”。

下面是上述方法的实现:

C++
// C++ program for the above approach
 
#include 
using namespace std;
 
// Function to check if the given
// string is a comment or not
void isComment(string line)
{
 
    // If two continuous slashes
    // preceeds the comment
    if (line[0] == '/' && line[1] == '/'
        && line[2] != '/') {
 
        cout << "It is a single-line comment";
        return;
    }
 
    if (line[line.size() - 2] == '*'
        && line[line.size() - 1] == '/') {
 
        cout << "It is a multi-line comment";
        return;
    }
 
    cout << "It is not a comment";
}
 
// Driver Code
int main()
{
    // Given string
    string line = "/*GeeksForGeeks GeeksForGeeks*/";
 
    // Function call to check whether then
    // given string is a comment or not
    isComment(line);
 
    return 0;
}


Java
// Java program for the above approach
import java.io.*;
import java.lang.*;
import java.util.*;
 
class GFG{
 
// Function to check if the given
// string is a comment or not
static void isComment(String S)
{
    char line[] = S.toCharArray();
 
    // If two continuous slashes
    // preceeds the comment
    if (line[0] == '/' && line[1] == '/' &&
        line[2] != '/')
    {
        System.out.println(
            "It is a single-line comment");
        return;
    }
 
    if (line[line.length - 2] == '*' &&
        line[line.length - 1] == '/')
    {
        System.out.println(
            "It is a multi-line comment");
        return;
    }
 
    System.out.println("It is not a comment");
}
 
// Driver Code
public static void main(String[] args)
{
     
    // Given string
    String line = "/*GeeksForGeeks GeeksForGeeks*/";
 
    // Function call to check whether then
    // given string is a comment or not
    isComment(line);
}
}
 
// This code is contributed by Kingash


Python3
# Python3 program for the above approach
 
# Function to check if the given
# string is a comment or not
def isComment(line):
   
    # If two continuous slashes
    # preceeds the comment
    if (line[0] == '/'  and line[1] == '/' and line[2] != '/'):
        print("It is a single-line comment")
        return
 
    if (line[len(line) - 2] == '*' and line[len(line) - 1] == '/'):
        print("It is a multi-line comment")
        return
 
    print("It is not a comment")
 
# Driver Code
if __name__ == '__main__':
   
    # Given string
    line = "/*GeeksForGeeks GeeksForGeeks*/"
     
    # Function call to check whether then
    # given string is a comment or not
    isComment(line)
     
    # This code is contributed by ipg2016107.


C#
// C# program for the above approach
using System;
using System.Collections.Generic;
 
class GFG{
     
// Function to check if the given
// string is a comment or not
static void isComment(string S)
{
    char[] line = S.ToCharArray();
 
    // If two continuous slashes
    // preceeds the comment
    if (line[0] == '/' && line[1] == '/' &&
        line[2] != '/')
    {
        Console.WriteLine("It is a single-line comment");
        return;
    }
 
    if (line[line.Length - 2] == '*' &&
        line[line.Length - 1] == '/')
    {
        Console.WriteLine("It is a multi-line comment");
        return;
    }
 
    Console.WriteLine("It is not a comment");
}
 
// Driver Code
static public void Main()
{
     
    // Given string
    string line = "/*GeeksForGeeks GeeksForGeeks*/";
 
    // Function call to check whether then
    // given string is a comment or not
    isComment(line);
}
}
 
// This code is contributed by splevel62


输出:
It is a multi-line comment

时间复杂度: O(N)
辅助空间: O(1)