标签:interview
interface Stack<T> { push(T t); T pop(); T peek(); boolean isEmpty(); } // Sort a stack? // Does it mean changing the order of elements in the stack? // What about popping all elements out to a list, sorting, and pushing back? sort(Stack<T> stack) { Stack<T> temp = initStack(); Stack<T> toReturn = initStack(); while (!stack.isEmpty()) { T t = stack.pop(); while (!toReturn.isEmpty() && t > toReturn.peek()) { temp.push(toReturn.pop()); } toReturn.push(t); while (!temp.isEmpty()) { toReturn.push(temp.pop()); } } return toReturn; }
标签:interview
原文地址:http://7371901.blog.51cto.com/7361901/1583037