-4
爲什麼我的代碼不能按預期工作? 試圖檢查stack.Count> 0並且它不能正常工作堆棧計數不正常
toShort(「../../../ z」)返回「../z」,但它應該返回「。 ./../../z」 UPDATE:
static String toShort(String path)
{
String[] elements = path.Split('/');
String result = "";
Stack<String> stack = new Stack<String>();
for (int i = 0; i < elements.Length; i++)
{
if (stack.Count>0&&elements[i].Equals(".."))
stack.Pop();
else
stack.Push(elements[i]);
}
List<String>list = new List<String>();
foreach (String str in stack)
list.Add(str);
list.Reverse();
int n = list.Count;
for (int i = 0; i < n; i++)
if (i != n - 1)
result += list[i] + "/";
else
result += list[i];
return result;
}
它是做什麼的?你期待它做什麼? – Lee
你想用頂級條件做什麼? –
如果您告訴我們您期望它做什麼以及它實際在做什麼,那麼回答您的問題會更容易。還有什麼'元素'數據類型是什麼,它是什麼。 – RBarryYoung