Resolve . and .. segments in a POSIX path. Preserve leading /.
.
..
/
solve('/a/b/../c/./d') → '/a/c/d'.solve('a/b/../../c') → 'c'.Going above root collapses to / (or empty for relative).
solve('/a/b/../c/./d')
'/a/c/d'
solve('a/b/../../c')
'c'
Sample tests