Java
 Computer >> コンピューター >  >> プログラミング >> Java

スタックを使用して文字列を反転するJavaプログラム


この記事では、スタックを使用して文字列を反転する方法を理解します。文字列は、1つ以上の文字を含み、二重引用符(“”)で囲まれたデータ型です。スタックは、オブジェクトのコレクションを格納するために使用される線形データ構造です。これは後入れ先出し(LIFO)に基づいています。

以下は同じのデモンストレーションです-

入力がであると仮定します −

Input string: Java Program

必要な出力は

Reversed string: margorP avaJ

アルゴリズム

Step 1 - START
Step 2 - Declare two string values namely input_string and result, a stack value namely stack, and a char value namely reverse.
Step 3 - Define the values.
Step 4 - Iterate over each characters of the string using a for-loop and push each character to the stack using ‘push’ keyword.
Step 5 - Now, pop each of the elements in the stack using ‘pop’ keyword and assign it to the result string.
Step 6 - Display the result
Step 7 - Stop

例1

ここでは、「main」関数の下ですべての操作をバインドします。

import java.util.*;
public class ReverseString {
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "Java Program";
      System.out.println("The string is defined as " +input_string);
      char[] reverse = new char[input_string.length()];
      Stack<Character> stack = new Stack<Character>();
      for (int i = 0; i < input_string.length(); i++) {
         stack.push(input_string.charAt(i));
      }
      int i = 0;
      while (!stack.isEmpty()) {
         reverse[i++] = stack.pop();
      }
      String result = new String(reverse);
      System.out.println("\nThe reversed string is: " + result);
   }
}

出力

Required packages have been imported
The string is defined as Java Program

The reversed string is: margorP avaJ

例2

ここでは、操作をオブジェクト指向プログラミングを示す関数にカプセル化します。

import java.util.*;
public class ReverseString {
   public static String reverse_string(String input_string) {
      char[] reverse = new char[input_string.length()];
      Stack<Character> stack = new Stack<Character>();
      for (int i = 0; i < input_string.length(); i++) {
         stack.push(input_string.charAt(i));
      }
      int i = 0;
      while (!stack.isEmpty()) {
         reverse[i++] = stack.pop();
      }
      return new String(reverse);
   }
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      String input_string = "Java Program";
      System.out.println("The string is defined as " +input_string);
      System.out.println("\nThe reversed string is: " + reverse_string(input_string));
   }
}

出力

Required packages have been imported
The string is defined as Java Program

The reversed string is: margorP avaJ

  1. 再帰を使用して文字列を逆にするPythonプログラム

    再帰手法を使用して文字列を反転する必要がある場合は、ユーザー定義のメソッドが再帰とともに使用されます。 再帰は、より大きな問題の小さなビットの出力を計算し、これらのビットを組み合わせて、より大きな問題の解決策を提供します。 例 以下は同じのデモンストレーションです- def reverse_string(my_string):    if len(my_string) == 0:       return my_string    else:       return reverse_str

  2. Javaで文字列を逆にする最も簡単な方法

    文字列を逆にすることは、Javaの技術面接で最もよく聞かれる質問の1つです。インタビュアーは、文字列を逆にするさまざまな方法を書くように求めたり、組み込みのメソッドを使用せずに文字列を逆にするように求めたり、再帰を使用して文字列を逆にするように求めたりする場合があります。 以下は、Javaで文字列を逆にするために使用できるさまざまな方法です。 Javaで文字列を逆にする、最も簡単な方法 Javaで文字列を逆にする最も簡単な方法は、組み込みのreverse()を使用することです。 StringBuilderの機能 クラス。 例: package io.devqa.tutorials;