[セットトップ]【LeetCode】226.Invert Binary Tree解題報告
転載は出典を明記してください。http://blog.csdn.net/crazy1235/article/details/51527554
Subject
出典:https://leetcode.com/problems/invert-binary-tree/
Invert a binary tree.
このテーマはかなり簡単です。つまり、簡単な二叉樹の左右の交換点です。
Solution
ソロ1
再帰的方式は、第1の階層から下の順序で現在のノードの左右のサブ数を調整する。
猿賽雷~
solution 2
上から下の順番がいいなら、下から上へ操作してもいいです。
ビンゴ~
Subject
出典:https://leetcode.com/problems/invert-binary-tree/
Invert a binary tree.
4
/ \ 2 7
/ \ / \ 1 3 6 9
ト 4
/ \ 7 2
/ \ / \ 9 6 3 1
エクスプレーンこのテーマはかなり簡単です。つまり、簡単な二叉樹の左右の交換点です。
Solution
ソロ1
再帰的方式は、第1の階層から下の順序で現在のノードの左右のサブ数を調整する。
/** * <br /> * 0ms <br /> * * @param root * @return */
public TreeNode invertTree(TreeNode root) {
if (root == null) {
return null;
}
TreeNode tempNode = root.left;
root.left = root.right;
root.right = tempNode;
invertTree(root.left);
invertTree(root.right);
return root;
}
LeetCodeプラットフォームRun Timeはなんと0 msです。猿賽雷~
solution 2
上から下の順番がいいなら、下から上へ操作してもいいです。
/** * * * @param root * @return */
public TreeNode invertTree2(TreeNode root) {
if (root == null) {
return null;
}
TreeNode leftNode = root.left;
TreeNode rightNode = root.right;
if (root.left != null) {
leftNode = invertTree2(root.left);
}
if (root.right != null) {
rightNode = invertTree2(root.right);
}
root.left = rightNode;
root.right = leftNode;
return root;
}
以上の二つは再帰的な操作方式です。その実用は再帰的でなくてもよい。みんな自分で試してみてもいいです。ビンゴ~