I am asking this because I am trying to use stack for my solution. Is it considered in-place ?
In-place usually means 'transforming the original input using only constant extra memory'. In this context, you should reuse the original nodes rather than creating new nodes, and use only O(1) auxiliary memory. If your algorithm must use a stack, then it is not an in-place algorithm.