题目
解题思路
- 奇数层,右子树的右子节点和左子树的左子节点交换,左子树的右子节点和右子树的左子节点交换。
代码展示
class Solution {
public TreeNode reverseOddLevels(TreeNode root) {
dfs(root.left,root.right,0);
return root;
}
private void dfs(TreeNode left, TreeNode right, int index){
if(left == null){
return;
}
if(index % 2 == 0) {
int temp = left.val;
left.val = right.val;
right.val = temp;
}
index++;
dfs(left.left,right.right,index);
dfs(left.right,right.left,index);
}
}