1. 程式人生 > >Java筆試之幾種字串逆序的方法

Java筆試之幾種字串逆序的方法

package test;

import java.util.Stack;

public class DoString {

	public static void main(String[] args) {
		String string = "123abcd";
		// StringBuffer sb = new StringBuffer(string);
		string = reverse3(string);
		// System.out.println(sb.reverse().toString());
		System.out.println(string);

	}

	public static String reverse3(String string) {
		StringBuffer sb = new StringBuffer();
		Stack<Character> s = new Stack<Character>();
		for (int i = 0; i < string.length(); i++) {
			s.add(string.charAt(i));
		}
		for (int i = 0; i < string.length(); i++) {
			sb.append(s.pop());
		}
		return sb.toString();
	}

	public static String reverse1(String string) {
		StringBuffer sb = new StringBuffer(string);
		for (int i = 0, j = sb.length() - 1; i < sb.length() >>> 1; i++, j--) {
			char temp = sb.charAt(i);
			sb.setCharAt(i, sb.charAt(j));
			sb.setCharAt(j, temp);
		}
		return sb.toString();
	}

	public static String reverse2(String string) {
		StringBuffer sb = new StringBuffer();
		for (int i = string.length() - 1; i >= 0; i--) {
			sb.append(string.charAt(i));
		}
		return sb.toString();
	}

}

相關推薦

Java筆試字串方法

package test; import java.util.Stack; public class DoString { public static void main(String[] a

java基礎常見的排序算法

java基礎 csdn n) min center 最小 fill 順序 system 一,冒泡排序 1、原理:   從數組的第一個位置開始兩兩比較array[index]和array[index+1],如果array[index]大於array[index+1]則交換a

Java——用兩方法實現字串

package com.zth; public class Test{ public static String fun1(String str){ //方法一 將字串轉換為字元陣列 char[] arr = str.toCharA

Java定時器的使用

沒有去仔細研究這兩種定時器的API,會使用及能在專案中應用即可; import org.quartz.CronExpression; import org.quartz.CronTrigger; import org.quartz.JobDetail; import org.quartz.S

Java字串輸出

public class re { //這個方法只是看效果,無返回 public void reverse(String s){ char[] arr=s.toCharArray();//字串轉為字元陣列 for

java中的對象(PO,VO,DAO,BO,POJO)

objects 其中 標準 setter ant object get 組件 工廠類 一、PO :(persistant object ),持久對象 可以看成是與數據庫中的表相映射的java對象。使用Hibernate來生成PO是不錯的選擇。二、VO :(value ob

java常見的設計模式

設計模式 單例 餓漢式 懶漢式 設計模式 1、概述 1)設計模式(Design pattern):是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結; 2)分類: 創建型模式(創建對象的): 單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式。 行為型模式(對象

Java常見的內存溢出及解決方案

-xmx 系列 lba pan fff 特征 聚類算法 聲明 space 1.JVM Heap(堆)溢出:java.lang.OutOfMemoryError: Java heap space JVM在啟動的時候會自動設置JVM Heap的值, 可以利用JVM提

JavaScript創建函數的區別以及優缺點。

friend type屬性 一個 多個 引用 定義 ret 安全 cto 工廠模式 function createPerson(name,age,job){ var o = new Object(); o.name = name; o.age = a

Java常用的線程池

fin cep read out fixed 重新 stat 支持 con 常用的幾種線程池 5.1 newCachedThreadPool 創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閑線程,若無可回收,則新建線程。 這種類型的線程池特點是: 工作線程

元的方法

int 才有 gpo log swa class ++ 要求 1-n 一, 擴展歐幾裏得 1 void exgcd(int a,int b,int &x,int &y) 2 { 3 if(b==0) 4 { 5 x

JVM垃圾收集器簡單介紹

new root 哪些 組合 sca jpg 跨年 tails ive 本文中的垃圾收集器研究背景為:HotSpot+JDK1.7 一、垃圾收集器概述 如上圖所示,垃圾回收算法一共有7個,3個屬於年輕代、三個屬於年老代,G1屬於橫跨年輕代和年老代的算法。 JVM會

Java 中的線程池這麽用才是對的

start java開發手冊 nds 細節 div 進入 args rdo 等待 為什麽要使用線程池 雖然大家應該都已經很清楚了,但還是說一下。其實歸根結底最主要的一個原因就是為了提高性能。 線程池和數據庫連接池是同樣的道理,數據庫連接池是為了減少連接建立和釋放帶來的性能開

Java Map的遍歷方法

Map key重複則會出現最後一次put的value //HashMap TreeMap 遍歷Map Map<Object, Object> map = new HashMap<Object, Object>(); 1.老版本遍歷,泛型1.5以上 ,

LeetCode周賽#105 Q1 Reverse Only Letters(字串

題目來源:https://leetcode.com/contest/weekly-contest-105/problems/reverse-only-letters/ 問題描述 917. Reverse Only Letters Given a string S, return

寫一個遞迴演算法來實現字串儲存,要求不另設串儲存空間。

遞迴演算法中需要使用一個靜態變數儲存陣列下標 #include <iostream> using namespace std; void invert(char A[]) { char ch; static int i=0;//利用靜態變數儲存陣列下標 ci

format函式常規用法

format函式是一種格式化輸出字串的函式(str.format),基本語法是通過{}和:來代替以前的%。 1.可以接受不限個引數,位置可以不按順序 >>>"{} {}".format("hello", "world") # 不設定指定位置,按預設順序 'hello worl

java類的關係詳解(有程式碼、有類圖)

前言 知道類的幾種關係也是程式設計的基礎知識,通常我們在軟體設計、架構設計、開發中都需要使用的, 類的關係 一般情況下類的關係分為6種,分別是實現、繼承、依賴、關聯、聚合、組合,下面將這6中關係簡單的分類 (1)is a -->繼承、實現 (2)has a-->關聯、

字串問題

最近在學習資料結構中的串,然後就隨手記錄一下面試題中經常會問到,但是很基礎的一些問題,也算是自己的一個筆記吧,主體思想就是交換字串頭部和尾部,不停的輪流交換,直到滿足逆序條件,程式碼很簡單啦,一看就可以看懂啦。   #include <stdio.h> #incl

7-6 字串 (15 分)

輸入一個字串,對該字串進行逆序,輸出逆序後的字串。 輸入格式: 輸入在一行中給出一個不超過80個字元長度的、以回車結束的非空字串。 輸出格式: 在一行中輸出逆序後的字串。 輸入樣例: Hello World! 輸出樣例: !dlroW olleH #include