[原题连接](翻转牛群结构_牛客题霸_牛客网 (nowcoder.com))
这道题简单来讲就是给着棵树翻个面, 翻面后各个节点之间不会有子节点的交换, 但是每个节点的左右节点会做交换, 所以我们采用层序遍历来遍历二叉树, 在遍历的过程中交换每个节点的左右节点即可
public class Solution {
public TreeNode invertTree (TreeNode root) {
if(root == null) return root;
Deque<TreeNode> queue = new ArrayDeque<>();
ArrayList<List<TreeNode>> lists = new ArrayList<>();
queue.add(root);
while(!queue.isEmpty()) {
int size = queue.size();
for(int i = 0; i < size; i++) {
TreeNode poll = queue.poll();
if(poll.right != null) queue.add(poll.right);
if(poll.left != null) queue.add(poll.left);
TreeNode temp = poll.left;
poll.left = poll.right;
poll.right = temp;
}
}
return root;
}
}
具体代码参上
好的!本次分享到这就结束了
如果对铁汁你有帮助的话,记得点赞👍+收藏⭐️+关注➕
我在这先行拜谢了:)