1class Solution {2public:3vector<int> pathInZigZagTree(int label) {4vector<int> v;5int n = 0, num = label;6while (label) {7n++;8label = label >> 1;9}1011int l, r, c, ans;12for (int i = n; i >= 2; i--) {13r = pow(2, i) - 1;14l = pow(2, i - 1);15c = r - num;16ans = l + c;17if ((n + i) % 2) {18v.push_back(ans);19} else {20v.push_back(num);21}22num /= 2;23}24v.push_back(1);25sort(v.begin(), v.end());26return v;27}28};