1. 程式人生 > >用友秋招程式設計題

用友秋招程式設計題

 這道題類似LeetCode中的簡化路徑那道題,兩個題思路差不多。

程式碼如下:

package com.test6.demo1;

import java.util.Scanner;
import java.util.Stack;

public class Main {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		String str1 = scanner.nextLine();
		System.out.println(Path("/home/"));
	}

	public static String Path(String path) {
		String[] str = path.split("/");
		Stack<String> S = new Stack<String>();
		for (int i = 0; i < str.length; i++) {
			if (".".equals(str[i]) || "".equals(str[i])) {
				continue;
			} else if ("..".equals(str[i])) {
				if (!S.empty())
					S.pop();
			} else
				S.push(str[i]);
		}
		StringBuilder arr = new StringBuilder();
		while (!S.empty()) {
			arr.insert(0, S.pop());
			arr.insert(0, "/");
		}
		if (arr.length() == 0)
			arr.append("/");
		return arr.toString();
	}

}