用友秋招程式設計題
阿新 • • 發佈:2018-12-10
這道題類似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(); } }