0
ユーザーが入力した文字列が回文かどうかを判断するアプリケーションを作成しようとしています。ビジュアル基本回文コード
StrReverseを使用せずに、次のループで行うことは可能でしょうか。それは私がこれまで行ってきたことです。
Dim userInput As String = Me.txtbx1.Text.Trim.Replace(" ", "")
Dim toBeComparedWith As String = StrReverse(userInput)
Select Case String.Compare(userInput, toBeComparedWith, True)
Case 0
Me.lbl2.Text = "The following string is a palindrom"
Case Else
Me.lbl2.Text = "The following string is not a palindrom"
End Select
1を動作していない:StrReverseで、1作業
Dim input As String = TextBox1.Text.Trim.Replace(" ", "")
Dim pallindromeChecker As String = input
Dim output As String
For counter As Integer = input To pallindromeChecker Step -1
output = pallindromeChecker
Next counter
output = pallindromeChecker
If output = input Then
Me.Label1.Text = "output"
Else
Me.Label1.Text = "hi"
End If
クールなアルゴリズム!非常に簡潔です。私が考えなければならない点は、Integer型が.5を切り捨てて奇数長を2で割った結果、中間の余分な文字は任意の値を持つことができるため、これが奇数番号の文字列に対して機能することです。 – BobRodes
@BobRodes正しいので、簡単です。 – Dai
VB.Netでは '3/2'は2に丸められますが、整数の分割 '3 \ 2'は1に切り捨てられます。ビットシフトは' length >> 1'でも動作します – Slai