237删除链表中的节点
GitHub 账户:LuvnJoae 欢迎关注! https://github.com/LuvnJoae
GitHub 代码链接:https://github.com/LuvnJoae/Java_leetcode
思路与结果
代码
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public void deleteNode(ListNode node) {
node.val = node.next.val;
node.next = node.next.next;
}
}
832反转图像
思路与结果
代码
思路2
package Day3_4_15.L832;
public class Solution {
public int[][] flipAndInvertImage(int[][] A){
// 因为如果A为1阶矩阵,按照这种倒序for循环的条件,是进不去的。
if (A.length == 1){
A[0][0] = replace(A[0][0]);
return A;
}
for (int i = 0; i < A.length; i++) {
for (int min = 0, max = A.length -1; min < max; min++, max--) {
int temp = A[i][min];
A[i][min] = A[i][max];
A[i][max] = temp;
A[i][min] = replace(A[i][min]);
A[i][max] = replace(A[i][max]);
if (min == max - 2) {
A[i][min+1] = replace(A[i][min+1]);
}
}
}
return A;
}
public int replace(int a){
if (a == 0){
return 1;
}else {
return 0;
}
}
}
思路1
package Day3_4_15.L832;
public class Solution2 {
public int[][] flipAndInvertImage(int[][] A){
for (int i = 0; i < A.length; i++) {
for (int min = 0, max = A.length -1; min < max; min++, max--) {
int temp = A[i][min];
A[i][min] = A[i][max];
A[i][max] = temp;
}
for (int i1 = 0; i1 < A.length; i1++) {
A[i][i1] = replace(A[i][i1]);
}
}
return A;
}
public int replace(int a){
if (a == 0){
return 1;
}else {
return 0;
}
}
}
思路3
package Day3_4_15.L832;
public class Solution3 {
public int[][] flipAndInvertImage(int[][] A){
if (A.length == 1){
A[0][0] = replace(A[0][0]);
return A;
}
if (A.length % 2 == 0){
for (int i = 0; i < A.length; i++) {
for (int min = 0, max = A.length -1; min < max; min++, max--) {
int temp = A[i][min];
A[i][min] = A[i][max];
A[i][max] = temp;
A[i][min] = replace(A[i][min]);
A[i][max] = replace(A[i][max]);
}
}
}else {
for (int i = 0; i < A.length; i++) {
for (int min = 0, max = A.length - 1; min < max; min++, max--) {
int temp = A[i][min];
A[i][min] = A[i][max];
A[i][max] = temp;
A[i][min] = replace(A[i][min]);
A[i][max] = replace(A[i][max]);
}
A[i][(A.length - 1) / 2] = replace(A[i][(A.length - 1) / 2]);
}
}
return A;
}
public int replace(int a){
if (a == 0){
return 1;
}else {
return 0;
}
}
}